2013-03-12 2 views
4

XMLOutputter를 사용하여 XML 파일을 작성한 다음 Android 용으로 사용합니다. 파일이 기록 될 때, 문자열XMLOutputter를 사용하여 이스케이프를 비활성화하는 방법

<string name="sname"><u>Text</u></string> 

내가 데이터베이스에서 "U > <U> 텍스트 <"를 읽은 다음 JDOM 문서에 넣어

<string name="sname">&lt;u&gt;Text&lt;u&gt;</string> 

로 기록됩니다. 그런 다음 문서를 작성합니다

XMLOutputter outputter = new XMLOutputter(Format.getPrettyFormat()); 
Writer writer = new OutputStreamWriter(new FileOutputStream(file), "utf-8"); 
outputter.output(doc, writer); 
writer.close(); 

어떻게하면 데이터베이스에서 정확한 문자열을 파일에 저장하지 않을 수 있습니까?

  • XMLOutputer 및 오버라이드 (override) escapeElementEntities 방법

    XMLOutputter outputter = new XMLOutputter(Format.getPrettyFormat()) { 
         @Override 
         public String escapeElementEntities(String str) { 
          return str; 
         } 
        }; 
    Writer writer = new OutputStreamWriter(new FileOutputStream(file), "utf-8"); 
    outputter.output(doc, writer); 
    writer.close(); 
    

I을 확장 :

답변

3

당신은 도주 방지 할 수 있어야한다 (I하지 &lt;가 '<'을 갖고 싶어) 이 부분을 찾았습니다. here

  • Format에서 사용자 정의 EscapeStrategy을 설정하면 특정 문자

유효한 XML을 생성 할주의해야 어느 쪽이든을 탈출 방지하기 위해.

희망이 도움이됩니다.

+1

감사합니다. 그것은 작동합니다. 나는 jdom2에서 이것을 시도했지만 jdom2의 XMLOutputter가 최종이기 때문에 작동하지 않았다. 나는 첫 번째 버전을 다운로드했고 이제는 작동한다. –

관련 문제