大多数浏览器都内建了供读取和操作 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 文档 ("xmlDoc=document.implementation.createDocument("","",null);
xmlDoc.async="false";
xmlDoc.load("books.xml");
parser=new DOMParser();
xmlDoc=parser.parseFromString(txt,"text/xml");
解释 document.implementation.createDocument(namespaceURI,qualifiedNameStrdocumentType) DOMString:实际上,在JavaScript中, 参考:w3school文档
document.implementation.createDocument()
此函数有三个参数
DOMString
containing the namespace URIof the document to be created,or
null
if the document doesn't belong to one.
null
.
DOMString
就是String
。规范解释说指的是UTF-16字符串,而JavaScript正是使用了这种编码的字符串,因此,在Ajax中,DOMString就等同于JS中的普通字符串。