2

我有一个 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 来做,但不太确定怎么做。

4

1 回答 1

1

对于这个问题,使用 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)
于 2017-08-18T15:30:50.947 回答