найти объект org.w3c.dom.Element в качестве параметра в org.dom4j.Document (преобразовать org.w3c.dom.Element в org.dom4j.Element) - PullRequest
1 голос
/ 01 апреля 2011

У меня org.w3c.dom.Document проанализирован org.dom4j.io.DOMReader.

Я хочу найти документ DOM4J DOM через org.w3c.dom.Element.

скажем, у меня есть org.w3c.dom.Элемент, который мне нужно найти в документе dom4j.У меня нет никакой информации об элементах, за исключением того, что у меня есть org.w3c.dom.Element объект в качестве параметра.

Я хочу что-то вроде dom4j doc.findByDomElement(org.w3c.dom.Element element), которое вернуло бы org.dom4j.Element.

1 Ответ

3 голосов
/ 01 апреля 2011

То, что вам нужно, не предоставляется 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?

...