2016-08-31 4 views
1

나는 내가 다음과 같은 XML 태그의 끝 부분에 약간의 후행 공백 (탭)를 전송해야하는에 따라 요구 사항을 가지고있다 - :이러한 후행 공백을 제거하는 방법은 무엇입니까?

-

<ImportFile Name="32201">Type Action </ImportFile> 

내가 태그의 값을 설정하는 XML 빈스을 사용하고 있습니다

ImportFile importFile = importOption.addNewImportFile(); 
importFile.setName("Id"); 
importFile.setStringValue(value); 

그러나 모든 후행 공백 위에 사용하여 삭제 및 구조 다음에 결과를 얻을 : -

<ImportFile Name="32201">Type Action</ImportFile> 

PS 나는 CDATA 블록에 텍스트를 넣어 꽤 인쇄 XMLoption에게

답변

1

시도를 사용하지 오전 :

<ImportFile Name="32201"><![CDATA[Type Action ]]></ImportFile> 

나는 Annotated XML Specification에 따르면 XML
에 공백을 보존하는 올바른 방법이없는 알다시피, 속성 값의 공백은 XML 프로세서에 의해 표준화됩니다.

이 항목은 또한 XML에 공백의 구문 분석을 이해하는 데 도움이 될 수있다 - What You Need to Know About Whitespace in XML

+0

감사합니다. 그래, 나도 CDATA를 사용하려고 생각했지만 클라이언트가 제공하는 안내선을 따라야한다. : –

+0

당신은 그 xml을 regexp로 파싱하고 CDATA로 그러한 블럭을 감쌀 수 있습니다. 아니면 여기에 자신 만의 xml 파서를 작성할 수 있습니다 - http://stackoverflow.com/a/869050/1916536. 그러나 클라이언트가 따르지 않으면 표준 때문에 영원히 그러한 해결 방법을 사용하게 될 것입니다. 그래서 나는 더러워진 해킹을 조용히하지 않을 것이고 클라이언트와의 토론을 열어 최소한 그의 지침의 불일치에 대해 알릴 것입니다. –

0

글쎄 그것은 단지 구조를 다음의 결과 것을 밝혀졌다 - 유형 조치 을 실제로 문서의 결과 요소를 인쇄 나는 importFile.toString()을 사용하고 있었다. importFile.xmlText()로 인쇄하는 대신 실제 결과를 찾았습니다.

관련 문제