使用 SAXReader 从 xml 文件中读取元素

read elements from an xml file using SAXReader

我正在尝试使用 SAXReader 阅读以下 xml 内容 我必须读取节点名称 "SelogerListController" 的子元素。 节点名称 "SelogerListController" 包含 3 个子节点 .

我的主要目的是获取节点名称的第 3 个节点的子元素 "SelogerListControllerlike"

 src="http://res/Favorite_Badge.png" ,src="http://res/sm_aries.png"

 src="http://res/sm_cancer.png"  and http://res/Favorite_Badge.png
 ...............

还有挖矿细节..

代码使用

SAXReader reader = new SAXReader();
        Document document;
        String xPath = "//XREClientView/XREClientView[5]";
        String nodeName = null;

        List<Element> childViews;
        try {
            document = reader.read("F://TestNewXMLAfter.xml");

            List<Node> nodes = document.selectNodes(xPath);
            for (Node node : nodes) {
                System.out.println("name :: " + node.valueOf("@name"));
                System.out.println(node.getPath());
                nodeName = node.valueOf("@name");
                if (nodeName.equals("SelogerListController")) {
                    childViews = ((Element) node).elements();

                    for (Element element : childViews) {
                        Element ele = element.element("XREClientImage");
                    }

                    break;
                }
            }
        } catch (DocumentException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

您在 post 中显示的 XPath 是:

//XREClientView/XREClientView[5]

这表示找到一个 XREClientView,其中至少包含五个名为 XREClientView 的子节点,而 return 第五个子节点。 XPath 应该开始

//XREClientView[@name='SelogerListController']/...

您可以在哪里计算出 ... 的替代品。还不完全清楚您可以使用哪些独特的属性值来查找您感兴趣的节点。