javascript – 如何使用DOM通过其中的数据查找XML元素?

前端之家收集整理的这篇文章主要介绍了javascript – 如何使用DOM通过其中的数据查找XML元素?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我必须在特定位置的 XML文件中插入数据.例如:
<tag1>
   <tag2>
      <tag3>data</tag3>
   </tag2>
   <tag2>
      <tag3>data2</tag3>
   </tag2>
</tag1>

我必须使用DOM找到’data2’而不是返回并在’tag2’中插入新元素,其中包含’data2′.更具体地说,我正在编写一个获取参数的函数搜索键和要插入的数据.

我怎样才能找到’data2’以及如何回到’tag2’以便插入?

解决方法

将上述XML数据用作字符串:
XMLDocument.prototype.getElementByContent = function getElementByContent(str) {
   var elems = this.querySelectorAll("*");

   for (var i = 0,l = elems.length; i < l; i++) {
      if (elems[i].textContent === str) {
         return elems[i];
      }
   }
};

var parser = new DOMParser();
var xmlDoc = parser.parseFromString(xmlString,"text/xml");

var tag = xmlDoc.createElement("tag3");
var content = xmlDoc.createTextNode("data3");
tag.appendChild(content);

xmlDoc.getElementByContent("data2").parentNode.appendChild(tag);

/*
    #docment▼ (XMLDocument)

    <tag1>▼
       <tag2>▼
           <tag3>data</tag3>
       </tag2>
       <tag2>▼
          <tag3>data2</tag3>
          <tag3>data3</tag3>
       </tag2>
    </tag1>​
*/

工作示例:http://jsfiddle.net/elias94xx/nFB7G/

猜你在找的JavaScript相关文章