我必须解析一个包含大量字符串值的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初学者,不是计算机科学家,计算复杂性不是问题。解析和编写XMLs不是一个问题(我用lxml解决了这个问题),所以这里的问题只是关于循环字符串及其链接的检测。你知道吗
一种方法是维护您以前看到的所有字符串的dict(从任意键到值的映射)。因此,假设您在变量
val
中有值,并且有一个dictvaldict
最初是空的。您需要的代码如下:我并不推荐使用这种简单的方法来构建xmlseiself,但听起来您已经准备好处理这方面的事情了。你知道吗
相关问题 更多 >
编程相关推荐