1

我正在使用XML for <script>库 W3C DOM Parser 可用here。(这是因为我在 .NET CLI Jint 程序而不是浏览器中使用 js。)

我的问题是,我使用 DOMImplementation.loadXML() 函数编辑 XML,然后编辑一个节点值,然后我想以字符串形式检索所有 XML,包括修改后的 XML:

 //instantiate the W3C DOM Parser
 var parser = new DOMImplementation();

 //load the XML into the parser and get the DOMDocument
 var domDoc = parser.loadXML($xmlData);

 //get the root node (in this case, it is ROOTNODE)
 var docRoot = domDoc.getDocumentElement();

 // change "name" element value
 docRoot.getElementsByTagName("name").item(0).nodeValue="John";

 // try to retreive all the XML including the changed one
 $xmlData=docRoot.getXML();

示例 XML:

<name>Carlos</name>

除了最后一行之外,一切都很好:

docRoot.getXML();

它仅将原始 XML 作为字符串返回,而不是修改后的 XML。

知道如何将所有 XML 检索为字符串,包括修改后的字符串吗?

4

1 回答 1

0

修复它替换:

docRoot.getElementsByTagName("name").item(0).nodeValue="John";

经过:

docRoot.getElementsByTagName("name").item(0).firstChild.setNodeValue("John");

似乎我需要调用firstChild元素“名称”中的文本才能真正替换。这样就docRoot.getXML()返回了所有的 XML 代码,包括修改后的代码。

于 2013-05-18T19:44:54.767 回答