Я занимаюсь довольно простой XML-обработкой в python и вырос, чтобы выглядеть как 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>
Не пример, который действительно охватывает все, но все же. Там также довольно простой цикл над тегами, когда вы хотите делать вещи, легко тестировать наличие тегов и атрибутов и другие вещи.