我想解析Java的DocumentBuilder的这个XML文件中值:解析XML用的DocumentBuilder和阅读
<GLS version="1" type="telegram">
<telegram version="1">
<params>
<id_batch>60500.012.16"</id_batch>
<supplier value="HUGO"/>
</params>
</telegram>
</GLS>
阅读id_batch标签是没有问题的,但现在我可以在供应商标签的价值?
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import java.io.File;
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = dbFactory.newDocumentBuilder();
Document doc = docBuilder.parse(file);
doc.getDocumentElement().normalize();
System.out.println("Root element: " + doc.getDocumentElement().getNodeName());
NodeList nList = doc.getElementsByTagName("params");
for (int i = 0; i < nList.getLength(); i++) {
Node nNode = nList.item(i);
System.out.println("\nCurrent Element: " + nNode.getNodeName());
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
Element eElement = (Element) nNode;
System.out.println("-1-> " + eElement.getElementsByTagName("id_batch").item(0).getTextContent());
System.out.println("-2-> " + eElement.getElementsByTagName("supplier").item(0).getAttribute("value"));
}
}
此错误出现: 无法解析法 '的getAttribute(java.lang.String中)'
东西我做错了!但是什么?
感谢
感谢您的帮助,但现在出现错误:无法解析法“的getAttribute(java.lang.String中)” – Twistleton
我找到了解决方案内容:System.out.println(“ - 3 - >“+((Element)eElement.getElementsByTagName(”supplier_name“)。item(0))。getAttribute(”value“)); – Twistleton