我正在做一些测试,但是当我使用或不使用normalize()
方法时,我认为没有区别。
但是ExampleDepot网站上的例子使用它。
那么,它是为了什么? (文件对我来说也不清楚)
答案 0 :(得分:26)
您可以以编程方式构建具有与实际XML结构不对应的无关结构的DOM树 - 特别是诸如文本类型的多个节点彼此相邻的事物,或者类型为text的空节点。 normalize()
方法删除了这些,即它组合了相邻的文本节点并删除了空节点。
当您有其他代码希望DOM树看起来像是从实际XML文档构建的东西时,这可能很有用。
这基本上意味着以下XML元素
<foo>hello
wor
ld</foo>
可以在非规范化节点中表示如下:
Element foo
Text node: ""
Text node: "Hello "
Text node: "wor"
Text node: "ld"
规范化后,节点将如下所示
Element foo
Text node: "Hello world"
答案 1 :(得分:4)
它清除相邻Text节点的代码并清空Text节点
答案 2 :(得分:0)
规范化XML文档的根元素。这样可以确保根节点下的所有Text节点都处于“正常”形式,这意味着文档中既没有相邻的Text节点,也没有空的Text节点。