XML 요소와 그 자식을 가져와 XML을 이스케이프 처리하고 다른 문서의 텍스트 노드로 추가해야합니다. 나는이 접근법이 어리 석다는 것을 알고 있지만, API는 그것을 요구한다.XML 요소를 텍스트 노드로 추가 (이스케이프 처리)
Java 용 다양한 XML 라이브러리 중 하나를 사용하여이 작업을 수행 할 수 있습니까? JAXP를 사용해 보았지만 내 코드는 아포스트로피와 큰 따옴표를 이스케이프 처리하지 않습니다.
…
String content = elementToString(nodeToEscape);
Text text = document.createTextNode(content);
Node n = document.getElementsByTagName("targetNode").item(0);
n.appendChild(text);
}
String elementToString(Element element) {
Document document = element.getOwnerDocument();
DOMImplementationLS domImplLS = (DOMImplementationLS) document.getImplementation();
LSSerializer serializer = domImplLS.createLSSerializer();
return serializer.writeToString(element);
}
결과 문서 조각은 :
<dataItem aggregate="none" name="Order number"…
따옴표와 아포스트로피를 이스케이프해야합니까? http://www.w3schools.com/xml/xml_syntax.asp "<"및 "&"문자는 XML에서 엄격하게 불법입니다. – gawi
@gawi : 네 말이 맞아! 답변을 게시하려면 신경 써야합니까? – prasopes