如何将xml节点(作为字符串)附加到现有的XML Element节点(仅使用java内置函数)?

(免责声明:在RingoJS中使用Rhino)

假设我有一个带元素的文档,我看不出如何将节点作为字符串附加到此元素。 为了将字符串解析为xml节点然后将它们附加到节点,我尝试使用documentFragment但是我无法到达任何地方。 简而言之,我需要像.NET的.innerXML一样简单,但它不在java api中。

var dbFactory = javax.xml.parsers.DocumentBuilderFactory.newInstance(); var dBuilder = dbFactory.newDocumentBuilder(); var doc = dBuilder.newDocument(); var el = doc.createElement('test'); var nodesToAppend = 'Hi there'; el.appendChild(???); 

如何在不使用任何第三方库的情况下执行此操作?

[编辑]在示例中并不明显,但我不应该知道变量’nodesToAppend’的内容。 所以,请不要指向有关如何在xml文档中创建元素的教程。

你可以在java中做到这一点 – 你应该能够得到Rhino等价物:

 DocumentBuilderFactory dbFactory = javax.xml.parsers.DocumentBuilderFactory.newInstance(); DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); Document doc = dBuilder.newDocument(); Element el = doc.createElement('test'); doc.appendChild(el); String xml = "Hi there"; Document doc2 = builder.parse(new ByteArrayInputStream(xml.getBytes())); Node node = doc.importNode(doc2.getDocumentElement(), true); el.appendChild(node); 

由于docdoc2是两个不同的Document所以诀窍是将节点从一个文档导入另一个文档,这是通过上面的importNode api完成的。

我认为你的问题就像这个问题,并且有答案: Java:如何读取和写入xml文件?

或者看到这个链接http://www.mkyong.com/java/how-to-create-xml-file-in-java-dom/