2
私はxliffファイルを読んでおり、特定の要素を取得しようとしています。私が使用しているすべての要素を印刷しようとしたPython -lxml xpathは空のリストを返します
from lxml import etree
with open('path\to\file\.xliff', 'r',encoding = 'utf-8') as xml_file:
tree = etree.parse(xml_file)
root = tree.getroot()
for element in root.iter():
print("child", element)
出力I(ここでは、多くの記事の助けを借りて)特定の要素を取得しようとすると
child <Element {urn:oasis:names:tc:xliff:document:2.0}segment at 0x6b8f9c8>
child <Element {urn:oasis:names:tc:xliff:document:2.0}source at 0x6b8f908>
だった - ソースタグ
segment = tree.xpath('{urn:oasis:names:tc:xliff:document:2.0}segment')
print(segment)
空のリストを返します。誰かが適切にそれを取得する方法を教えてもらえますか?
入力:
<?xml version='1.0' encoding='UTF-8'?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:2.0" version="2.0">
<segment id = 1>
<source>
Hello world
</source>
</segment>
<segment id = 2 >
<source>
2nd statement
</source>
</segment>
</xliff>
私はセグメントの値と、それに対応するソース
' '{URN:オアシス:名:TC:XLIFF:ドキュメント:2.0} segment''は' XPath'表現 – Andersson
@Anderssonではありません。そして、あなたは、ツリー全体を検索する
.//
を追加する必要がありますしようとしましたtree.findall( '{urn:oasis:names:tc:xliff:document:2.0} segment') - まだ空リストを返す – shanHTMLソースサンプルと所望の出力を共有する – Andersson