2

この xliff フラグメントを解析できません:

<source>text1 <g id="1">text2</g> text3 <x id="2"/><x id="3"/>text4</source>

ソースタグで実行され、次のようなものを埋める反復メソッドが必要です

parsed_source[0]='text1'
parsed_source[1]='<g id="1">text2</g>'
parsed_source[2]='text3'
parsed_source[3]='<x id="2"/>'
parsed_source[4]='<x id="3"/>'
parsed_source[5]='text4'

必要に応じて、xml フラグメント [1]、[3]、および [4] を再度反復できるように...

lxmlたとえば、次のように使用します。

from lxml import etree
tree = etree.iterparse('aFile.xlf')
for action, elem in tree:
    print("%s: %s %s" % (action, elem.tag, elem.text))

次のようなものが得られます。

end: source text1
end: g text2
end: x None
end: x None

text3そして、私は解析することができませんtext4...どうすればそれを行うことができますか? ありがとう

4

1 に答える 1

3

tailプロパティ (要素に続くテキスト) を考慮する必要があります。ここでそれについて読んでください: http://infohost.nmt.edu/tcc/help/pubs/pylxml/web/etree-view.html .

次のスニペット (コードを少し変更したもの) は、それを示しています。

from lxml import etree

tree = etree.iterparse('aFile.xlf')
for action, elem in tree:
    print("%s: %s %s %s" % (action, elem.tag, elem.text, elem.tail))

出力:

end: g text2  text3 
end: x None None
end: x None text4
end: source text1  None
于 2015-07-19T11:25:07.693 に答える