使用java进行DOM解析的规范化 – 它是如何工作的?

问题:

我在this tutorial的DOM解析器的代码中看到下面的行

doc.getDocumentElement().normalize();

为什么我们做这个规范化?
我读了docs,但我听不懂一个字。

将此节点下方的子树的全部深度中的所有文本节点放置

好的,那么有人可以告诉我(最好带图片)这棵树是什么样子的?
任何人都可以解释为什么需要规范化?
如果我们不正常化会发生什么?

回答:

其余的句子是:

其中仅结构(例如,元素,注释,处理指令,CDATA部分和实体引用)分离文本节点,即,不存在相邻的文本节点和空文本节点。

这基本上意味着以下的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"

属性也是一样:<foo bar="Hello world"/>,评论等

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Normalization in DOM parsing with java – how does it work?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

+ 74 = 77