2012-01-16 5 views
0

캐리지 리턴 문자와 줄 바꿈 문자를 XML 형식으로 추가하여 각 요소가 MS 메모장의 해당 줄에 나타나도록하려고합니다.캐리지 리턴 및 줄 바꿈 XML - Java

나는 여기에 제안 된 것을 시도했다 : How to pretty print XML from Java?. 각 닫는 요소 다음에 줄 바꿈 문자를 추가합니다. richText 및 gedit 등의보다 정교한 편집기의 경우 줄 바꿈 문자로 충분합니다. 그러나 메모장에서 각 요소를 가져 오는 데는 캐리지 리턴이 필요합니다.

Document Transformer 속성을 변경하여 도입 할 수있는 방법이 있습니까? 그렇지 않으면 XML 문서 전체를 구문 분석하고 수동으로 추가 할 필요없이이 작업을 수행 할 수있는 방법이 있습니까?

+2

XML 사양의 [new line handling 섹션] (http://www.w3.org/TR/REC-xml/#sec-line-ends)에는 XML에서 원하는 개행 문자 documents는 줄 바꿈 문자입니다. – buc

+0

@buc ​​보니, 캐리지 리턴 문자를 추가하는 것은 XML 표준 스펙 밖에 있을까요? – travega

+1

@travega 요소 사이의 공백은 중요하지 않으므로 실제로는 그렇지 않다고 생각합니다. XML을 표시하는 소프트웨어가 새로운 라인에 대해 다른 문자를 사용할 필요는 없다는 것이 스펙에서 드러난 것입니다. – millimoose

답변

3

쓰기 중에 기존 Writer/OutputStream을 래핑하고 "\ n"을 "\ r \ n"으로 바꿀 수있는 Writer을 직접 구현할 수 있습니다. 공백 문자가 XML 텍스트에서 중요하지 않다면 충분할 것입니다. 그런 다음 래퍼의 인스턴스를 XML을 출력하는 코드로 전달합니다.

1

\><을 모두 >^p<으로 대체하면됩니다. 여기서 ^p은 MS Word의 특수 서식의 ParagraphMark입니다.

관련 문제