Java Node normalize方法有什么作用?

时间:2010-03-16 20:40:59

标签: java xml normalization

我正在做一些测试,但是当我使用或不使用normalize()方法时,我认为没有区别。 但是ExampleDepot网站上的例子使用它。 那么,它是为了什么? (文件对我来说也不清楚)

3 个答案:

答案 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节点。