1

数据之间是否存在内容差异?

也许一个文档可能有其他元数据,如作者、最后编辑日期等?

我试图理解为什么 w3 学校的 domparser 示例有两种完全不同的方法来加载 xml 字符串和 xml 文档。

例如说两个来源都包含<book><page1>Hello World!</page1></book>.

提供的第一种方法使用 XMLHttpRequest() 和 responseXML 加载 js 对象 xmlDoc,第二种方法使用 DOMParser() 和 parseFromString()

每种方法创建的 JS 对象有何不同?

4

3 回答 3

1

两种方式的结果是一个表示 xml 结构的对象。

第一种方法是使用 XMLHttpRequest 从远程位置加载(和解析)xml 文档。

第二种方法假设您的脚本中已经有 xml 内容(存储在变量中,不管它是如何到达那里的)。然后将 xml 字符串内容解析为一个对象,以便您可以轻松地对 xml 数据执行操作(这在字符串上是不可能的)

您可以像这样使用生成的 xml 对象:

var p = new DOMParser()
xmldoc = p.parseFromString('<book><page1>Hello World!</page1></book>', 'text/xml')

xmldoc.childNodes.item(0) // the <book> tag
xmldoc.childNodes.item(0).childNodes.item(0) // the <page1> tag
xmldoc.childNodes.item(0).childNodes.item(0).textContent // "Hello World!"
于 2012-12-22T23:41:02.937 回答
0

xml 文档应以 xml 声明开头:

http://www.w3.org/TR/REC-xml/#sec-prolog-dtd

此声明可能不存在于 xml 字符串中。

于 2012-12-23T01:24:54.910 回答
0

第一个示例从您仍然需要加载的 XML 文件构建 XML 树。它为此使用 XMLHttpRequest,它从网络服务器加载 XML 文件并自动解析它以创建 XML 文档。

第二个示例从您已有的包含 XML 代码的字符串构建 XML 树。

于 2012-12-22T23:39:26.377 回答