xpath - 如何在Python中使用XPath限制特定xml元素的开始和结束标记之间的元素提取范围?

标签 xpath rdf python-3.5 rdf-xml

我有一个RDF / XML元素,想找出特定标记的开始和结束之间的所有元素。我该怎么办?

例如 :

<cim:BaseVoltage rdf:ID="_0526B48408F744919E7C03672FCD0D71">       
<cim:BaseVoltage.isDC>false</cim:BaseVoltage.isDC>  
<cim:BaseVoltage.nominalVoltage>400.000000000</cim:BaseVoltage.nominalVoltage>    
</cim:BaseVoltage>


我想提取值BaseVoltage.isDC和BaseVoltage.nominalVoltage,因为它们位于的开始标记和结束标记之间。如前所述,这只是一个示例,我还有更多这样的开始和结束标记。

我曾考虑过使用Xpath做到这一点,但我不确定如何做到。

最佳答案

对于这个问题,使用XPath解析XML文件似乎不是一个好主意。 Rdflib使其非常容易。

import rdflib
from rdflib import Graph
from rdflib.namespace import Namespace

BASE = Namespace('http://example.org/')

graph = rdflib.Graph()
graph.parse('rdf.xml', format='xml', publicID=BASE)

for p,o in graph[BASE['#_0526B48408F744919E7C03672FCD0D71']]:
   print(p, o)

关于xpath - 如何在Python中使用XPath限制特定xml元素的开始和结束标记之间的元素提取范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45203061/

相关文章:

python - 我在哪里可以找到 Python 3 标准库中的实例方法?

javascript - 使用 XPath 选择包含特定文本的 LI 时遇到问题

extract - RDFa Reader提取工具

rdf - 如何区分描述表示对象的 OWL 属性和描述表示的属性?

nlp - 词性标注后对单词进行词形还原会产生意想不到的结果

python - 在 Python 中,str 和 int 之间的哪种转换方式更快?

xml - XSLT 根据另一个值添加属性值

xml - XSL 在 for-each 中按属性查找元素

c# - XPath last() 无法正常工作

python - 如何在 RDFlib 中解析 N3