Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将XML元素作为文本节点追加(转义)_Java_Xml - Fatal编程技术网

Java 将XML元素作为文本节点追加(转义)

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

我需要获取一个XML元素及其子元素,转义XML并将它们作为文本节点附加到另一个文档中。我知道这种方法很愚蠢,但API需要它

我是否可以使用许多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"…
我一定会让你这么做的。我不得不做非常类似的事情(尽管很多年前),dom4j是我选择的工具。是另一种选择——无论你觉得哪个更直观


两者都为XML提供了比JAXP更友好的对象模型。

您不需要转义引号和撇号。根据:只有字符“你确定你需要转义引号和撇号吗?根据:只有字符“@gawi:你是对的!想把它作为答案贴出来吗?