我喜欢 Python,但我不想为了从元素中获取属性而写 10 行代码。也许只有我一个人,但 minidom
不是那个 mini
。为了使用它解析某些东西,我必须编写的代码看起来很像 Java 代码。
有没有更 user-friendly
的东西?带有重载运算符的东西,哪些将元素映射到对象?
我希望能够访问这个:
<root>
<node value="30">text</node>
</root>
就像这样:
obj = parse(xml_string)
print obj.node.value
而不是使用 getChildren
或其他类似的方法。
最佳答案
你应该看看ElementTree .它并没有完全按照你的意愿做,但它比 minidom 好得多。如果我没记错的话,从 python 2.4 开始,它包含在标准库中。要获得更快的速度,请使用 cElementTree。要获得更快的速度(和更多功能),您可以使用 lxml (根据您的需要/方法检查 objectify API)。
我应该补充一下 BeautifulSoup部分做你想做的。还有Amara有这种方法。
关于python - 是否有任何在设计时考虑到人类的 Python XML 解析器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1493899/