首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OAI Jaxen XPath问题

OAI Jaxen XPath问题
EN

Stack Overflow用户
提问于 2011-05-31 19:15:10
回答 1查看 682关注 0票数 0

我在使用Jaxen进行Xpath计算时遇到了很大的问题。

下面是我正在评估的XML的一部分:

代码语言:javascript
复制
<?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(因为我的处理架构需要它)。

我正在选择所有记录节点(这是可行的):

代码语言:javascript
复制
/OAI-PMH/ListRecords/record

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

选择标识符文本值(此操作有效):

代码语言:javascript
复制
header/identifier/text()

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

代码语言:javascript
复制
metadata/oai_dc:dc/dc:title/text()

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

代码语言:javascript
复制
metadata/dc/title/text()
metadata//dc:title/text()

我读过其他关于xpath、名称空间和使用URI "http://www.openarchives.org/OAI/2.0/"“添加前缀"oai”的解决方案的堆叠溢出问题。我尝试将"oai:“前缀添加到没有定义前缀的节点中,但结果甚至没有选择记录节点。有什么我做错了吗?

解决方案:问题是关于解析器的(谢谢jasso)。它没有设置为名称空间感知--在更改设置之后,一切正常工作,就像预期的那样。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-31 21:04:36

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6192400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档