首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据另一个值获取一个值

根据另一个值获取一个值
EN

Stack Overflow用户
提问于 2018-02-10 21:19:40
回答 2查看 38关注 0票数 2

我正在使用Java和import javax.xml.xpath.*包。

我是XPATH的初学者,无法根据另一个值恢复值。

这里是我的.xml文件

代码语言:javascript
复制
<lom:lom xmlns:lom="http://ltsc.ieee.org/xsd/LOM" xmlns:lomfr="http://www.lom-fr.fr/xsd/LOMFR" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <lom:general>
          ...
          <lom:title>
              <lom:string language="fre">Analyse financière bilan : Un exemple d'approche financière par la méthode des ratios - la centrale de bilans de la Banque de France</lom:string>
         </lom:title>
         ...
    </lom:general>

    <lom:lifeCycle>
        ...
        <lom:contribute>
            <lom:role>
                <lom:source>LOMv1.0</lom:source>
                <lom:value>author</lom:value>
            </lom:role>
            <lom:entity>BEGIN:VCARD VERSION:3.0 N:GARROT;Thierry;;; FN:Thierry GARROT EMAIL;TYPE=INTERNET:thierry.garrot@unice.fr ORG:Université de Nice END:VCARD</lom:entity>
            <lom:date>
                <lom:dateTime>2009-10-07</lom:dateTime>
            </lom:date>
        </lom:contribute>
        <lom:contribute>
             <lom:role>
                 <lom:source>LOMv1.0</lom:source>
                 <lom:value>instructional designer</lom:value>
             </lom:role>
             <lom:entity>BEGIN:VCARD VERSION:3.0 N:CASANOVA;Gérard;;; FN:Gérard CASANOVA EMAIL;TYPE=INTERNET:gerard.casanova@univ-nancy2.fr ORG:Université de Lorraine END:VCARD</lom:entity>
             <lom:date>
                 <lom:dateTime>2009-10-07</lom:dateTime>
             </lom:date>
        </lom:contribute>
        <lom:contribute>
             ...
        </lom:contribute>
        ...
    </lom:lifeStyle>
 </lom>

只有当lom:entity值是author时,才能得到author值?

lom:entity是一个VCARD,但是我认为这是一个问题,因为我有一个算法来获得作者的全名。

示例:

要获得lom:title,我使用://*[local-name()='title']/*[local-name()='string']/text()

谢谢你的帮助!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-02-10 21:28:41

您要寻找的XPath表达式是(期望有正确的命名空间处理):

代码语言:javascript
复制
/lom:lom/lom:lifeCycle/lom:contribute[lom:role/lom:value = 'author']/lom:entity

这将为您提供所需的内容。

忽略上面XPath表达式的变体的命名空间是

代码语言:javascript
复制
/*[local-name()='lom']/*[local-name()='lifeCycle']/*[local-name()='contribute'][*[local-name()='role']/*[local-name()='value'] = 'author']/*[local-name()='entity']
票数 2
EN

Stack Overflow用户

发布于 2018-02-10 21:29:33

只有当lom:entity值是author时,才能获得lom:value值?

xpath表达式:

代码语言:javascript
复制
//lom:entity[parent::lom:contribute/lom:role/lom:value="author"]/text()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48725670

复制
相关文章

相似问题

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