java - 逐个节点解析 XML 并检查叶节点

标签 java xml

我使用 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/

相关文章:

java - 如何在带有 wicket 的应用程序中使用一些动态反馈面板?

java - 在 Eclipse 中查看 gcmv 使用的堆数量?

java - 在 Java 中实现 Comparable

python - 使用 RegEx 从伪标签之间提取数据(不能使用 BeautifulSoup)

java - 如何在 Java 中处理 XML 从 xml 数据库检索数据

java - 从必要的同步方法调用异步方法(Vert.x,Java)

java - 将重复值导入到 Java 折线图中

java - Spring-MVC - 创建名称为 'procesarController' : Injection of autowired dependencies failed 的 bean 时出错

android - 为什么android中xml的style属性没有命名空间

xml - 在创建新的基于 XML 的格式或语言之前,开发人员应该了解什么?