Python属性解析为xml:id

2024-04-29 04:42:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用以下代码从tei文件中提取一些信息:

tree = ET.parse(path)
root = tree.getroot()
body = root.find("{http://www.tei-c.org/ns/1.0}text/{http://www.tei-c.org/ns/1.0}body")  
for s in body.iter("{http://www.tei-c.org/ns/1.0}s"):
    for w in s.iter("{http://www.tei-c.org/ns/1.0}w"):
        wordpart = w.find("{http://www.tei-c.org/ns/1.0}seg")
        word = ''.join(wordpart.itertext())
        type = w.get('type')
        xml = w.get('xml:id') 
        print(type)             
        print(xml)

type的输出是正确的,它打印例如“noun”。但是对于xml:id我只能得到None。这是我需要解析的xml文件的摘录:

<w type="noun" xml:id="w.4940"><seg type="orth">sloterheighe</seg>...

Tags: 文件orgidtreehttpforwwwtype
1条回答
网友
1楼 · 发布于 2024-04-29 04:42:13

要获取xml:id属性的值,需要像这样指定名称空间URI(有关详细信息,请参见this SO post):

xml = w.attrib['{http://www.w3.org/XML/1998/namespace}id']

或者

xml = w.get('{http://www.w3.org/XML/1998/namespace}id')

另外,请注意type是Python中的内置方法,因此请避免将其用作变量名

相关问题 更多 >