微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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/

原文地址:https://www.jb51.cc/js/157216.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐