[英]Retrieve text and tags from XML using java
I have an xml file as follows: 我有一个xml文件,如下所示:
<extended>
<p>text A</p>
<p>text B</p>
<p>text C</p>
</extended>
Using Java I would like to extract the text and the tags from the extended node. 使用Java我想从扩展节点中提取文本和标签。 So my expected output would be:
所以我的预期输出将是:
<p>text A</p>
<p>text B</p>
<p>text C</p>
Here's my code so far: 到目前为止,这是我的代码:
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();
}
However, this strips the tags, leaving me with: 但是,这会剥离标签,给我留下:
text A
text B
text C
How to leave in the <p>
tags? 如何留在
<p>
标记中? Any help would be greatly appreciated :). 任何帮助将不胜感激 :)。
A. 一种。
This will solve your problem 这将解决您的问题
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() + ">");
}
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.