XML DOM

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XML DOM相关的知识,希望对你有一定的参考价值。

XML DOM可以类比于html DOM,详见:HTML DOM

 

1、DOM节点

  • 整个文档是一个文档节点
  • 每个XML元素是一个元素节点
  • 包含在XML元素的文本是文本节点
  • 每一个XML属性是一个属性节点
  • 注释是注释节点

 

 

2、获取XML DOM对象

此处参考:Ajax

 

 

3、XML DOM属性

  • nodeName  节点名称
  • nodeValue  节点值
  • parentNode  父节点
  • childNodes  子节点
  • attributes  属性节点

 

 

4、XML DOM方法

  • getElementsByTagName()
  • appendChild()  插入子节点
  • removeChild()  删除子节点

 

 

实例:

note.xml

<message>
<note id="010">
<to>fftu</to>
<from>per_1</from>
<info>info_1</info>
</note>
<note id="011">hahaha
<to>jiao</to>
<from>per_2</from>
<info>info_2</info>
</note>
</message>

 

main.js

function loadXmlDoc(fileName){
  if(window.XMLHttpRequest){
    var xmlhttp = new XMLHttpRequest();
  }
  xmlhttp.onreadystatechange = function(){
    if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
      var xmlDoc = xmlhttp.responseXML;
      var di_1 = document.getElementById("di_1");

      //获取文本节点"hahaha"
      di_1.innerHTML = xmlDoc.getElementsByTagName("note")[1].childNodes[0].nodeValue;

      //获取文本节点"jiao"
      di_1.innerHTML = xmlDoc.getElementsByTagName("note")[1].childNodes[1].childNodes[0].nodeValue;        
    }
  }

  xmlhttp.open("GET", "./note.xml", true);
  xmlhttp.send();
}

注意:元素节点本身并不包含文本,元素节点下的文本节点包含文本

以上是关于XML DOM的主要内容,如果未能解决你的问题,请参考以下文章

Android之DOM解析XML

java解析xml的几种方式哪种最好?

将字符串 XML 片段转换为 Java 中的文档节点

jquery 对象的 heightinnerHeightouterHeight 的区别以及DOM 元素的 clientHeightoffsetHeightscrollHeightoffset(代码片段

使用文档碎片(DocumentFragments)追加DOM元素

DocumentFragment使用