我不想使用看起来像这样的java来解析xml:
<sentence>This is a <a><b>long</b></a> sentence.</sentence>
<sentence>This is a second <a><b>even</b></a> longer sentence.</sentence>
结果我需要没有xml的整个句子。我试图用dom4j解析这个。调用函数element.getText()(当前元素是句子标记)我只是在嵌套的xml标签中得到没有文本的句子。
感谢您的帮助! 此致
答案 0 :(得分:0)
将数据保存在xml标记的[CDATA]部分中
<sentence><![CDATA[This is a <a><b>long</b></a> sentence.]]></sentence>
答案 1 :(得分:0)
您可以使用XPath选择所有文本节点
String getAllTextContent(Node node) {
List<Node> nodes = node.selectNodes("descendant-or-self::text()");
StringBuilder buf = new StringBuilder();
for ( Node n : nodes ) {
buf.append(n.getText());
}
return buf.toString();
}
// usage
System.out.println(getAllTextContent(doc.selectSingleNode("//sentence")));