我正在进行一些测试,但是当我使用或不使用 normalize()
方法时,似乎没有任何区别。
但是 ExampleDepot 网站上的示例使用了它。
那么,它有什么作用呢?(对我来说,文件中的说明并不清楚)
我正在进行一些测试,但是当我使用或不使用 normalize()
方法时,似乎没有任何区别。
但是 ExampleDepot 网站上的示例使用了它。
那么,它有什么作用呢?(对我来说,文件中的说明并不清楚)
normalize()
方法会删除这些结构,即组合相邻的文本节点并删除空节点。<foo>hello
wor
ld</foo>
这可以在非规范化的节点中表示为:
Element foo
Text node: ""
Text node: "Hello "
Text node: "wor"
Text node: "ld"
标准化后,节点将会如下所示
Element foo
Text node: "Hello world"
它可以清理相邻的文本节点和空文本节点中的代码。
dom_tree_1 != dom_tree_2
# but:
dom_tree_1.save_DOM_as_XML() == dom_tree_2.save_DOM_as_XML()
dom_tree == dom_tree.save_DOM_as_XML().load_DOM_from_XML()
# still:
dom_tree.save_DOM_as_XML() == dom_tree.normalized().save_DOM_as_XML()
# but with:
dom_tree_n = dom_tree.normalize()
# we now even have:
dom_tree_n == dom_tree_n.save_DOM_as_XML().load_DOM_from_XML().normalize()
规范化XML文档的根元素。这可以确保根节点下的所有文本节点都被放置在“正常”形式中,这意味着文档中既没有相邻的文本节点,也没有空的文本节点。