gpt4 book ai didi

java - OAI Jaxen XPath 问题

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

我在使用 Jaxen 进行 Xpath 评估时遇到了大问题。

这是我正在评估的 XML 部分:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd">
<responseDate>2011-05-31T13:04:08+00:00</responseDate>
<request metadataPrefix="oai_dc" verb="ListRecords">http://citeseerx.ist.psu.edu/oai2</request>
<ListRecords>
<record>
<header>
<identifier>oai:CiteSeerXPSU:10.1.1.1.1484</identifier>
<datestamp>2009-05-24</datestamp>
</header>
<metadata>
<oai_dc:dc xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
<dc:title>Winner-Take-All..</dc:title>
<dc:relation>10.1.1.134.6077</dc:relation>
<dc:relation>10.1.1.65.2144</dc:relation>
<dc:relation>10.1.1.54.7277</dc:relation>
<dc:relation>10.1.1.48.5282</dc:relation>
</oai_dc:dc>
</metadata>
</record>
<resumptionToken>10.1.1.1.2041-1547151-500-oai_dc</resumptionToken>
</ListRecords>
</OAI-PMH>

我使用 Jaxen 是因为在我的用例中它比 Apache 实现快得多。我使用 W3C DOM 进行 XML 表示。

我需要选择所有记录参数,然后在选定的节点上评估其他 xpath(由于我的处理架构而需要它)。

我正在选择所有记录节点(这有效):

/OAI-PMH/ListRecords/record

然后在每个选定的记录节点上,我正在评估其他 xpath 以获取所需的数据:

选择标识 rune 本值(有效):

header/identifier/text()

选择标题文本值(这不起作用):

metadata/oai_dc:dc/dc:title/text()

我已经用它们的 URI(oai_dc 和 dc)注册了命名空间前缀。我还尝试了其他 xpath,但它们都不起作用:

metadata/dc/title/text()
metadata//dc:title/text()

我已经阅读了有关 xpath、命名空间和使用 URI“http://www.openarchives.org/OAI/2.0/”添加前缀“oai”的解决方案的其他 stackoverflow 问题。我尝试将“oai:”前缀添加到没有定义前缀的节点,但结果我什至没有选择记录节点。你知道我做错了什么吗?

解决方案:问题与解析器有关(感谢 jasso)。它没有设置为命名空间感知 - 更改该设置后,一切正常,如预期的那样。

最佳答案

我看不出 XPath 表达式 /OAI-PMH/ListRecords/record 如何能够选择任何内容,因为您的文档没有 {}OAI-PMH 元素,只有一个 {http://www.openarchives.org/OAI/2.0/}OAI-PMH 元素。请参阅http://jaxen.codehaus.org/faq.html

关于java - OAI Jaxen XPath 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6192400/

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