gpt4 book ai didi

java - 使用 jdom 和 jaxen 选择元素

转载 作者:行者123 更新时间:2023-12-01 15:29:36 26 4
gpt4 key购买 nike

我有以下 xml

   <administration xmlns="http://www.w3schools.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="schema.xsd">
<students>
<student name = 'alpha' number='s1111111'>
<grades>
<grade course='beta'> 1 </grade>
</grades>
</students>
</administration>

我使用以下 JDOM 代码,但它一直返回 null。

reader.root 指的是文档的根元素

 Element studentXmlElement = (org.jdom.Element) XPath.selectSingleNode(reader.root,    " administration/students/student[@number='s1111111']");    

但正如我所说,一旦我返回,studentXmlElement 就为空。

最佳答案

有一些事情:学生标签未关闭,并且 xpath 有一个前导空格。我认为这是错误的。

您的 xml 指定了命名空间,并且您的 xpath 选择不包含命名空间和前缀。使用'xpath.addNamespace(java.lang.String prefix, java.lang.String uri)'方法将命名空间添加到您的xpath。

请注意,您的 xml 没有任何命名空间前缀。在 XPath 中,不存在“默认 namespace ”之类的东西。空前缀始终解析为空命名空间 URI。

请参阅此处的 API 了解更多详细信息:http://www.jdom.org/docs/apidocs/org/jdom/xpath/XPath.html#addNamespace%28java.lang.String,%20java.lang.String%29

关于java - 使用 jdom 和 jaxen 选择元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9717726/

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