Java,dom4j:如何在文本中间添加内联元素(b,i,u)

时间:2012-12-17 09:56:53

标签: java xml dom4j

我认为这件事已经足够了。我应该能够做这种XML:

    <root>
     <text>I am <b>text</b>, alright?</text>
    </root>

我的问题很简单:地球如何能够通过使用dom4j在文本中间使用内联元素(b,i,u),或者在制作这种内联元素时应该使用其他方法?

对我来说很明显,这不起作用:

    Element e = rootelem.addElement("text");
    e.addElement("b").setText("text");

任何?请告诉我怎么......这让我感到疯狂。 :d

1 个答案:

答案 0 :(得分:1)

这很简单。只是不要使用setText

“设置节点的文本值”(根除节点将拥有的所有其他内容)和“将文本节点添加到节点”之间存在差异node“(允许将文本节点与其他节点类型混合)。

对后者使用addText

Element text = rootelem.addElement("text");

text.addText("I am ");
text.addElement("b").addText("text");
text.addText(", alright?");

界面Element,方法addTextAdds a new Text node with the given text to this element.


顺便说一句,命名一个元素<text>实际上它根本不包含文本(但是标记)有点不幸。也许像<html>这样的东西会是更明智的选择。