0

这件事我已经想得够多了。我应该能够做这种 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

4

1 回答 1

1

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

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

用于addText后者。

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

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

Interface Element, method addText:将具有给定文本的新 Text 节点添加到此元素。


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

于 2012-12-17T10:17:26.830 回答