我必须解析一个包含大量字符串值的 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 解决了这个问题),所以这里的问题只是关于重复字符串的检测及其链接。