【发布时间】:2014-03-24 08:47:20
【问题描述】:
我必须解析一个包含大量字符串值的 XML 文件。例如:
<value>Foo</value>
<value>Bar</value>
<value>Baz</value>
<value>Foo</value>
其中一些是相等的。有多个重复出现的字符串,而不仅仅是上面示例中的一个。因此,我想检测这些值,并将它们与 XLink 链接:在重复字符串的一个实例中创建引用(不必在第一个),并链接其余的(我可以使用UUID),就像这里:
<value id="D5494447-A010-4F81-9DDA-E5DFFBD616FF">Foo</value>
<value>Bar</value>
<value>Baz</value>
<value href="#D5494447-A010-4F81-9DDA-E5DFFBD616FF"/>
我是从 XLinks 开始的,所以上面的内容可能没有意义。如果这不可能,另一种可能性是我可以创建一个包含此类值的字典:
{'D5494447-A010-4F81-9DDA-E5DFFBD616FF' : 'Foo'}
然后以某种方式将它们放入 XML 中。实现这些的最简单方法是什么?只要方法正确且易于实现,我不太关心最有效的方法,因为我是 Python 初学者而不是计算机科学家,计算复杂度不是问题。解析和编写 XML 不是问题(我用 lxml 解决了),所以这里的问题只是关于重复字符串的检测及其链接。
【问题讨论】:
标签: python xml search indexing xlink