我有一个xml文件,如下所示:
<extended>
<p>text A</p>
<p>text B</p>
<p>text C</p>
</extended>
使用Java我想从扩展节点中提取文本和标签。所以我的预期输出是:
<p>text A</p>
<p>text B</p>
<p>text C</p>
到目前为止,这是我的代码:
String textString;
NodeList extendedNodeList = XYZ.getElementsByTagName("extended");
if(extendedNodeList !=null && extendedNodeList.getLength() == 1) {
Node subChildNode = extendedNodeList.item(0);
if(subChildNode.getNodeType() == Node.ELEMENT_NODE)
textString = subChildNode.getTextContent();
}
然而,这会删除标签,留下我:
text A
text B
text C
如何留下<p>
代码?任何帮助将不胜感激:)。
一个。
答案 0 :(得分:0)
这将解决您的问题
NodeList extendedNodeList = XYZ.getElementsByTagName("extended");
if(extendedNodeList !=null && extendedNodeList.getLength() == 1) {
Node extendedNode = extendedNodeList.item(0);
if (extendedNode.hasChildNodes()) {
NodeList childNodes = extendedNode.getChildNodes();
for (int i = 0; i < childNodes.getLength(); i++) {
Node pNode = childNodes.item(i);
if(pNode.getNodeType() == Node.ELEMENT_NODE) {
Element element = (Element)pNode;
System.out.println("<" + element.getTagName() + ">" + element.getTextContent() + "</" + element.getTagName() + ">");
}
}
}
}