2013-06-27 2 views
1

이후 공백에 최근 문제가 있습니다. XML 요소에 연속 공백이있는 텍스트를 추가합니다. Xom의 toXML 메서드는 잘 작동하지만 ByteArrayOutputStream과 Serializer를 함께 쓰면 공간이 축소됩니다.Xom serializer가 텍스트의 후속 공백을 잃습니다.

다음 공백은 하나의 공백으로 축소됩니다. 그 이유를 찾을 수 없습니다.

아니요 : 저는 Xentizer가 공백을 제거한다는 것은 내가 들여 쓰기와 setMaxLength를 사용하기 때문입니다. 거기에 텍스트를 만지고 그냥 들여 쓰기 할 serializer가 있습니까?

답변

0

내가 대신 사용하는 솔루션은 출력을 쓰는 대체 파서 (Jsoup)입니다. 이것은 속성 내에서 공백을 보존하면서 나를 위해 일했습니다.

그러나이 솔루션은 모든 노드/특성을 소문자로 변환합니다.

public static void writeXML(final File xmlFile, final Document doc) { 

    BufferedWriter xmlWriter = null; 

    try { 
     xmlWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(xmlFile), 
       "UTF-8")); 
     xmlWriter.write(Jsoup.parse(doc.toXML(), "", Parser.xmlParser()).toString()); 

    } catch (final IOException e) { 
     e.printStackTrace(); 

    } finally { 
     if (xmlWriter != null) { 
      try { 
       xmlWriter.close(); 
      } catch (final IOException e) { 
       e.printStackTrace(); 
      } 
     } 
    } 
} 
관련 문제