Java 将XML元素作为文本节点追加(转义)
我需要获取一个XML元素及其子元素,转义XML并将它们作为文本节点附加到另一个文档中。我知道这种方法很愚蠢,但API需要它 我是否可以使用许多Java XML库中的一个来实现这一点? 我尝试使用JAXP,但我的代码没有避开撇号和双引号Java 将XML元素作为文本节点追加(转义),java,xml,Java,Xml,我需要获取一个XML元素及其子元素,转义XML并将它们作为文本节点附加到另一个文档中。我知道这种方法很愚蠢,但API需要它 我是否可以使用许多Java XML库中的一个来实现这一点? 我尝试使用JAXP,但我的代码没有避开撇号和双引号 … String content = elementToString(nodeToEscape); Text text = document.createTextNode(content); Node n = document.ge
…
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"…
我一定会让你这么做的。我不得不做非常类似的事情(尽管很多年前),dom4j是我选择的工具。是另一种选择——无论你觉得哪个更直观
两者都为XML提供了比JAXP更友好的对象模型。您不需要转义引号和撇号。根据:只有字符“你确定你需要转义引号和撇号吗?根据:只有字符“@gawi:你是对的!想把它作为答案贴出来吗?