我能够解析这样的东西:
<tag>value</tag>via:
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'我尝试了几种方法,但是我无法成功地从这里解析“值”:
<tag><value/></tag>它似乎是有效的XML,但我不知道这种格式是什么,也不知道如何解析这个值。
欢迎任何建议!
编辑:
从注释中可以看出,<value/>只是<tag>中的另一个标记。要获得“值”,我必须获得子标记名称:
NodeList nodes = doc.getElementsByTagName("tag");
String value = nodes.item(0).getChildNodes().item(0).getNodeName();是否有此格式的值的名称(以/结尾的<>标记中的名称)?
发布于 2017-10-02 15:19:59
要在节点value中获取节点名<tag>,请执行以下操作:
System.out.println(nodes.item(0).getFirstChild().getNodeName());要获得值的文本内容,请如下(<tag><value>5</value></tag>)所示:
System.out.println(nodes.item(0).getFirstChild().getTextContent());https://stackoverflow.com/questions/46527992
复制相似问题