XML DOM---解析xml dom

大多数浏览器都内建了供读取和操作 XML 的 XML 解析器。

解析器把 XML 转换为 JavaScript 可存取的对象

解析器分两种:

一种是微软的浏览器,另一种是非微软的浏览器。

-------------微软的 XML 解析器加载 XML

 JavaScript 片段把 XML 文档 ("books.xml") 载入了解析器:

xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.load("books.xml");

代码解释:

  • 第一行创建空的微软 XML 文档对象
  • 第二行关闭异步加载,这样可确保在文档完整加载之前,解析器不会继续执行脚本
  • 第三行告知解析器加载名为 "books.xml" 的文档

下面的 JavaScript 片段把名为 txt 的字符串载入解析器中:

xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.loadXML(txt);

注释:loadXML() 方法用于加载字符串(文本),而 load() 用于加载文件。

-------------在 Firefox 及其他浏览器中的 XML 解析器

javaScript 片段把 XML 文档 ("books.xml") 载入了解析器:

xmlDoc=document.implementation.createDocument("","",null);
xmlDoc.async="false";
xmlDoc.load("books.xml");

代码解释:

  • 第一行创建空的 XML 文档对象
  • 第二行关闭异步加载,这样可确保在文档完整加载之前,解析器不会继续执行脚本
  • 第三行告知解析器加载名为 "books.xml" 的文档

下面的 JavaScript 片段把名为 txt 的字符串载入解析器中:

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

代码解释:

  • 第一行创建一个空的 XML 文档对象
  • 第二行告知解析器加载名为 txt 的字符串

解释

document.implementation.createDocument()

此函数有三个参数

document.implementation.createDocument(namespaceURI,qualifiedNameStr,documentType)

namespaceURI
Is a  DOMString containing the namespace URI of the document to be created, or  null if the document doesn't belong to one.
qualifiedNameStr
Is a  DOMString containing the qualified name, that is an optional prefix and colon plus the local root element name, of the document to be created.
documentType  Optional
Is the  DocumentType of the document to be created. It defaults to  null.

DOMString:实际上,在JavaScript中,DOMString就是String。规范解释说DOMString指的是UTF-16字符串,而JavaScript正是使用了这种编码的字符串,因此,在Ajax中,DOMString就等同于JS中的普通字符串。


                                       参考:w3school文档




你可能感兴趣的:(xml)