我可以解析这样的事情:
<tag>value</tag>
通过:
File inputFile = new File("input.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(inputFile);
doc.getDocumentElement().normalize();
NodeList nodes = doc.getElementsByTagName("tag");
String value = nodes.getLength() > 0 ? nodes.item(0).getTextContent().trim() : "";
System.out.println(value); // prints 'value'
我尝试了几件事,但我无法成功解析价值&#39;从这个:
<tag><value/></tag>
它似乎是有效的XML,但我不知道这种格式是什么或如何解析该值。
欢迎任何建议!
修改
从评论中看,<value/>
只是<tag>
中的另一个标记。为了获得价值&#39;我必须得到子标签名称:
NodeList nodes = doc.getElementsByTagName("tag");
String value = nodes.item(0).getChildNodes().item(0).getNodeName();
此格式的值是否有名称(&lt;&gt;以/结尾的标记中的一个)?
答案 0 :(得分:0)
要在节点value
中获取节点名称<tag>
,请执行以下操作:
System.out.println(nodes.item(0).getFirstChild().getNodeName());
要获取值的文本内容,请执行以下操作(<tag><value>5</value></tag>
):
System.out.println(nodes.item(0).getFirstChild().getTextContent());