JDOM 获取包含内容的字符串

JDOM get string of containing content

假设我有一些 xml:

<document>blabla<bold>test<list><item>hello<italics>dfh</italics></item></list></bold>sdfsd</document>

我现在需要获取字符串的内容,所以我会

blabla<bold>test<list><item>hello<italics>dfh</italics></item></list></bold>sdfsd

我已经在脑子里琢磨了一段时间了,但我似乎一直想不通。

希望得到一些关于我必须做的事情的指示。

编辑:

为了清楚起见,假设我有这样的 XML:

SAXBuilder sb = new SAXBuilder();
Document doc = sb.build(new StringReader("<document>blabla<bold>test<list><item>hello<italics>dfh</italics></item></list></bold>sdfsd</document>"));

我现在需要获取

的内容

需要像您想要的那样获取 XML 文档的不一致子集是非常不寻常的。仅获取文本内容更为常见:blabla test hello dfh sdfsd

请注意,您可以获得内容的子集作为根元素的 "contentlist",然后仅将该列表输出为字符串:

    XMLOutputter xout = new XMLOutputter();
    String txt = xout.outputString(doc.getRootElement().getContent());
    System.out.println(txt);

对于我来说,我写了代码:

public static void main(String[] args) throws JDOMException, IOException {
    SAXBuilder sb = new SAXBuilder();
    Document doc = sb.build(new StringReader("<document>blabla<bold>test<list><item>hello<italics>dfh</italics></item></list></bold>sdfsd</document>"));

    XMLOutputter xout = new XMLOutputter();
    String txt = xout.outputString(doc.getRootElement().getContent());
    System.out.println(txt);        
}

它输出:

blabla<bold>test<list><item>hello<italics>dfh</italics></item></list></bold>sdfsd