【发布时间】:2009-11-02 16:44:53
【问题描述】:
我一直在 python 中进行相当多的简单 XML 处理,并逐渐喜欢ElementTree 的做事方式。
在 Java 中是否有类似且易于使用的东西?我发现 DOM 模型有点麻烦,并且发现自己编写的代码比我想做的简单事情要多得多。
还是我问错了?
也许我的问题是:有没有比“XMLUtils”类更好的选择,我看到人们在处理 DOM 时在某些地方实现以简化他们的代码?
在这里添加一点关于我为什么喜欢 ElementTree,因为这个问题被问到了。
- 简单(我想在使用 DOM 之后一切看起来都很简单)
- 感觉很自然地适合 python
- 我只需要很少的代码。
我试图提出一个简单的代码示例来说明,但很难给出一个好的示例。 这是一个尝试。这只是将带有值和属性的标签添加到现有的 xml 字符串。
from xml.etree.ElementTree import *
xml_string = '<top><sub a="x"></sub></top>'
parsed = fromstring(xmlstring)
se = SubElement(parsed, "tag")
se.text = "value"
se.attrib["a"] = "x"
new_xml_string = tostring(parsed)
之后,new_xml_string就是
<top><sub a="x" /><tag a="x">value</tag></top>
不是一个真正涵盖所有内容的示例,但仍然如此。当你想做一些事情时,还有相当简单的标签循环,轻松测试标签和属性的存在以及其他事情。
【问题讨论】:
-
感谢各位的建议。将首先查看 XOM,看看这是否适合我。