我使用 XPath 表达式 //*[count(./*) = 0]
来查找 XML 中的叶节点。但我不想使用表达式,而是想逐个节点地解析 XML,并检查它是否是叶节点。我怎样才能做到这一点?我的 XML 是动态的。
最佳答案
使用下面的java代码,您可以解析xml并使用docEle.hasChildNodes()来检查它是否是叶节点。
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document dom = db.parse("file.xml");
Element docEle = dom.getDocumentElement();
NodeList nl = docEle.getChildNodes();
if (nl != null && nl.getLength() > 0) {
for (int i = 0; i < nl.getLength(); i++) {
if (nl.item(i).getNodeType() == Node.ELEMENT_NODE) {
Element el = (Element) nl.item(i);
el.getTextContent().trim();
}
}
}
}
关于java - 逐个节点解析 XML 并检查叶节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20852207/