gpt4 book ai didi

java - XPath 不返回预期值

转载 作者:行者123 更新时间:2023-11-30 09:49:15 24 4
gpt4 key购买 nike

我有一个用 jDOM 解析的 XML 文档,然后尝试获取满足 XPath 表达式的所有节点,但 XPath 始终不返回任何元素。这是我的 XML 文件:

<?xml version="1.0" encoding="UTF-8"?>

<!-- Using aggregate instance. Should pass -->

<pnml xmlns="http://www.pnml.org/version-2009/grammar/pnml">
<net id="rootAgregate" type="http://www.cs.stu.cn.ua/jess/enets">
<page id="main">
<transition id="agregate1">
<name>
<text>agregate1</text>
<graphics>
<offset x="22" y="-14"/>
</graphics>
</name>
<definition type="aggregate" subType="myAggregate"/>
<graphics>
<position x="950" y="484"/>
</graphics>
</transition>
<transition id="Input1">
<name>
<text>agregate1</text>
<graphics>
<offset x="22" y="-14"/>
</graphics>
</name>
<definition type="input"/>
<graphics>
<position x="950" y="484"/>
</graphics>
</transition>
<transition id="Output1">
<name>
<text>agregate1</text>
<graphics>
<offset x="22" y="-14"/>
</graphics>
</name>
<definition type="output"/>
<graphics>
<position x="950" y="484"/>
</graphics>
</transition>
</page>
</net>
</pnml>

这是我的 XPath 代码:

private List<String> getChildNames(Document parsedDom) throws JDOMException {
ArrayList<String> childNames = new ArrayList<String>();
XPath childCounter = XPath.newInstance("//definition[@type=\"aggregate\"]");
ListIterator<Element> listIterator = childCounter.selectNodes(parsedDom).listIterator();

while (listIterator.hasNext()) {
Element definitionElement = listIterator.next();
childNames.add(definitionElement.getAttributeValue("subType"));
}

return childNames;
}

我在这里检查了我的 XPath 表达式: http://www.whitebeam.org/library/guide/TechNotes/xpathtestbed.rhtm它有效。

为什么它在我的代码中不起作用?

在此先感谢您。

最佳答案

关于java - XPath 不返回预期值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5916272/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com