gpt4 book ai didi

xml - 获取基于另一个值的值

转载 作者:行者123 更新时间:2023-12-03 16:08:47 25 4
gpt4 key购买 nike

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

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

这是我的 .xml 文件

<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值仅当 lom:value值为 author ?
lom:entity是 VCARD,但我认为这是一个问题,因为我有一个算法来获取作者全名。

示例:

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

感谢帮助!

最佳答案

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

/lom:lom/lom:lifeCycle/lom:contribute[lom:role/lom:value = 'author']/lom:entity

这应该为您提供所需的内容。

忽略上述 XPath 表达式的命名空间变体是
/*[local-name()='lom']/*[local-name()='lifeCycle']/*[local-name()='contribute'][*[local-name()='role']/*[local-name()='value'] = 'author']/*[local-name()='entity']

关于xml - 获取基于另一个值的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48725670/

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