gpt4 book ai didi

python - 使用 lxml 库解析 xliff 文件

转载 作者:太空宇宙 更新时间:2023-11-04 01:03:57 25 4
gpt4 key购买 nike

我无法解析这个 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

而且我无法解析 text3text4...我该怎么做?谢谢

最佳答案

您需要考虑 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

关于python - 使用 lxml 库解析 xliff 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31500513/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com