Найти объект org.w3c.dom.Element в качестве параметра в org.dom4j.Document (преобразовать org.w3c.dom.Element в org.dom4j.Element)
У меня есть org.w3c.dom.Document
проанализировано org.dom4j.io.DOMReader
,
Я хочу найти документ DOM4J DOM через org.w3c.dom.Element
,
скажем, у меня есть элемент org.w3c.dom.Element, который мне нужно найти в документе dom4j. У меня нет никакой информации об элементах, за исключением того, что org.w3c.dom.Element
объект как параметр.
Я хочу что-то вроде dom4j doc.findByDomElement(org.w3c.dom.Element element)
который вернул бы org.dom4j.Element
,
1 ответ
То, что вам нужно, не предоставляется dom4j из коробки. Dom4j позволяет разобрать org.w3c.dom.Document
как org.dom4j.Document
, но тогда вы не можете искать через dom4j Document
по org.w3c.dom.Element
; Вы должны сделать это по своему собственному методу. Например, вы можете использовать xpath для поиска некоторых узлов. Кроме того, dom4j обеспечивает org.dom4j.dom.DOMNodeHelper
класс, который представляет собой набор служебных методов, чтобы сделать некоторое преобразование из org.w3c.dom
возражает против org.dom4j
объекты, но я не нашел нужный вам метод. Посмотрите здесь. Кроме того, dom4j предоставляет org.dom4j.io.DOMWriter
класс, чтобы сделать противоположность org.dom4j.io.DOMReader
,
Когда ты сказал:
У меня нет никакой информации об элементах, за исключением того, что в качестве параметра используется объект org.w3c.dom.Element.
Ну, я думаю, что объект Element содержит всю информацию, которую вам нужно искать вручную через дерево dom4j.
Наконец, я хотел бы предложить вам использовать только одну библиотеку для обработки XML в вашем коде. У вас есть особые потребности? Почему вы используете оба org.dom4j.Document
а также org.w3c.dom.Document
?