[英]parsing xliff file using lxml library
我无法解析此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
...我该怎么做? 谢谢
您需要考虑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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.