很抱歉,如果這是一個非常基本的問題,但我已經在這個問題面前坐了好幾個小時,但無法讓它發揮作用。
我正在使用英國國家語料庫(這些檔案是 XML 格式的),我想提取這些檔案中不同人的屬性。我正在使用的部分結構如下:
<bncDoc>
<teiHeader>
<profileDesc>
<particDesc n="C196">
<person ageGroup="X" xml:id="PS21Y" role="unspecified" sex="f" soc="UU" dialect="NONE" firstLang="EN-GBR" educ="X">
<persName>j. hammond</persName>
<occupation>interviewer</occupation>
</person>
<person ageGroup="X" xml:id="PS220" role="unspecified" sex="m" soc="UU" dialect="XIS" firstLang="EN-GBR" educ="X">
<persName>Bhagan</persName>
</person>
</particDesc>
</profileDesc>
</teiHeader>
</bncDoc>
我正在嘗試提取“人”元素的“id”、“sex”、“soc”和“ageGroup”。但我只是不知道它如何與那些“xml:id”一起作業。我嘗試這樣做的方式(如下所示)不起作用。它適用于“sex”、“soc”和“ageGroup”,但不適用于“xml:id”。有誰知道,如何使它作業?這對我有很大幫助!:)
for i in root.findall('teiHeader/profileDesc/particDesc/person'):
tmp = []
tmp.append(i.get('id'))
tmp.append(i.get('sex'))
tmp.append(i.get('soc'))
tmp.append(i.get('ageGroup'))
uj5u.com熱心網友回復:
如果你使用它會起作用
i.get('{http://www.w3.org/XML/1998/namespace}id')
這看起來有點難看,但它與xml:系結到http://www.w3.org/XML/1998/namespaceURI 的特殊命名空間前綴這一事實有關。請參閱https://www.w3.org/XML/1998/namespace。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/447882.html
