XML 문서 ( org.w3c.dom.Document
) 의 문자열 표현을 얻는 가장 간단한 방법은 무엇입니까 ? 그것은 모든 노드가 한 줄에 있다는 것입니다.
예를 들어
<root>
<a>trge</a>
<b>156</b>
</root>
(이것은 트리 표현 일 뿐이며 내 코드에서는 org.w3c.dom.Document
객체이므로 문자열로 취급 할 수 없습니다)
에
"<root> <a>trge</a> <b>156</b> </root>"
감사!
답변
doc
귀하의 인스턴스가 org.w3c.dom.Document
다음 과 같다고 가정 합니다 .
TransformerFactory tf = TransformerFactory.newInstance();
Transformer transformer = tf.newTransformer();
transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
StringWriter writer = new StringWriter();
transformer.transform(new DOMSource(doc), new StreamResult(writer));
String output = writer.getBuffer().toString().replaceAll("\n|\r", "");
답변
Apache XMLSerializer 사용
예 :
http://www.informit.com/articles/article.asp?p=31349&seqNum=3&rl=1
이것도 확인할 수 있습니다
http://www.netomatix.com/XmlFileToString.aspx
답변
먼저 모든 텍스트 노드에서 모든 개행 문자를 제거해야합니다. 그런 다음 ID 변환을 사용하여 DOM 트리를 출력 할 수 있습니다. .NET 용 javadoc을 살펴보십시오 TransformerFactory#newTransformer()
.