2010-08-18 4 views
0

DOM.xml 파일을 javax.xml API를 사용하여 java에서 XML로 변환합니다. 결과는javax.xml.transform.Transformer를 사용하여 텍스트 하위 노드 들여 쓰기

<tag> 
    <tag2>text</tag2> 
</tag> 

하지만 텍스트 자식 노드로 그렇게 할 수있는 옵션이 있습니다이

<tag> 
    <tag2> 
     text 
    </tag2> 
</tag> 

할 필요가? 나는 어떤

+1

왜 새 줄이 필요합니까? XML과 같은 구조화 된 데이터 형식에 대해 약간 특이한 것으로 보입니다. – GaryF

+0

우리가 XML을 읽는데 사용하는 커스텀 (꽤 못생긴) 포트란 라이브러리가 텍스트으로 쓰여진 데이터를 좋아하지 않기 때문에, 때때로 올바르게 읽히고 때로는 읽지 않기 때문에 개행이 필요합니다. ( –

+0

Fortran 라이브러리의 XML 파서 포트란 라이브러리를 수정하는 것이 훨씬 더 낫다. 자신의 idiolect 만 이해한다면 XML을 읽는다고 주장하는 라이브러리가 좋은가? 표준 데이터 교환 포맷의 요점은 XML을 생성하는 툴이다. 동일한 표준을 사용하여 작업 할 수 있습니다.) Fortran 라이브러리가 XML을 이해하지 못하면 CSV를 피드 할 수도 있습니다. – LarsH

답변

1

내가이 형식은 XML의 모든 레벨에 적용 할 가정대로 문자열 text을 가지고

로 변환하려면, 당신은이 작업을 수행하는 자신의 마샬를 작성해야합니다 생각 찾을 수 없습니다
[line feed character] 
[n + i space characters]text[line feed character] 
[n space characters] 

여기서 n은 루트 요소의 현재 요소 깊이에 따라 달라집니다.

명시 적으로이 두 문서의 xpath/tag/tag2 값을 비교하면 동일하지 않습니다.

+0

두 번째 줄의 들여 쓰기가 너무 작습니다. [n + i 공백 문자] –

+0

잘 찾아 냈습니다! –

+0

이것은 제가 지금 코딩하고있는 것이지만, transformer.setOutputProperty와 같은 것을 기대했습니다. (OutputKeys.PUT_STRING_CHILDREN_ON_NEW_LINE, "예"); –

관련 문제