Java Node normalize方法有什么作用?

Tom*_*ito 21 java xml normalization

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

Mic*_*rdt 26

您可以以编程方式构建具有与实际XML结构不对应的无关结构的DOM树 - 特别是诸如文本类型的多个节点彼此相邻的事物,或类型为text的空节点.该normalize()方法删除了这些,即它组合了相邻的文本节点并删除了空节点.

当您有其他代码期望DOM树看起来像是从实际XML文档构建的东西时,这可能很有用.

这基本上意味着以下XML元素

<foo>hello 
wor
ld</foo>
Run Code Online (Sandbox Code Playgroud)

可以在非规范化节点中表示如下:

Element foo
    Text node: ""
    Text node: "Hello "
    Text node: "wor"
    Text node: "ld"
Run Code Online (Sandbox Code Playgroud)

规范化后,节点将如下所示

Element foo
    Text node: "Hello world"
Run Code Online (Sandbox Code Playgroud)