Ges*_*esh 7 javascript xml dom
我必须在特定位置的XML文件中插入数据.例如:
<tag1>
<tag2>
<tag3>data</tag3>
</tag2>
<tag2>
<tag3>data2</tag3>
</tag2>
</tag1>
Run Code Online (Sandbox Code Playgroud)
我必须使用DOM找到'data2'而不是返回并在'tag2'中插入新元素,其中包含'data2'.更具体地说,我正在编写一个获取参数的函数:搜索键和要插入的数据.
我怎样才能找到'data2'以及如何回到'tag2'以便插入?
小智 1
使用上面的 XML 数据作为字符串:
\n\nXMLDocument.prototype.getElementByContent = function getElementByContent(str) {\n var elems = this.querySelectorAll("*");\n\n for (var i = 0, l = elems.length; i < l; i++) {\n if (elems[i].textContent === str) {\n return elems[i];\n }\n }\n};\n\nvar parser = new DOMParser();\nvar xmlDoc = parser.parseFromString(xmlString, "text/xml");\n\nvar tag = xmlDoc.createElement("tag3");\nvar content = xmlDoc.createTextNode("data3");\ntag.appendChild(content);\n\nxmlDoc.getElementByContent("data2").parentNode.appendChild(tag);\n\n/*\n #docment\xe2\x96\xbc (XMLDocument)\n\n <tag1>\xe2\x96\xbc\n <tag2>\xe2\x96\xbc\n <tag3>data</tag3>\n </tag2>\n <tag2>\xe2\x96\xbc\n <tag3>data2</tag3>\n <tag3>data3</tag3>\n </tag2>\n </tag1>\xe2\x80\x8b\n*/\nRun Code Online (Sandbox Code Playgroud)\n\n工作示例: http: //jsfiddle.net/elias94xx/nFB7G/
\n