Ich habe ein org.w3c.dom.Element
Objekt in meine Methode übergeben. Ich muss die gesamte XML-Zeichenfolge einschließlich ihrer untergeordneten Knoten (das gesamte Objektdiagramm) sehen. Ich suche nach einer Methode, mit der Element
ich die Zeichenfolge in ein XML-Format konvertieren kann System.out.println
. Nur println()
für das 'Element'-Objekt funktioniert es nicht, da toString()
das XML-Format nicht ausgegeben wird und der untergeordnete Knoten nicht durchlaufen wird. Gibt es einen einfachen Weg, ohne meine eigene Methode zu schreiben? Vielen Dank.
88
<?xml version="1.0" encoding="UTF-16"?>
Erklärung stört ... wir können diese Zeile auchserializer .getDomConfig().setParameter("xml-declaration", false);
in der ersten Lösung hinzufügen ....Einfacher 4-Zeilen-Code zum Abrufen
String
ohne XML-Deklaration (<?xml version="1.0" encoding="UTF-16"?>
) vonorg.w3c.dom.Element
quelle
In der Standard-JAXP-API nicht unterstützt, habe ich zu diesem Zweck die JDom-Bibliothek verwendet. Es hat eine Druckerfunktion, Formatierungsoptionen usw. http://www.jdom.org/
quelle
Wenn Sie das XML-Schema haben oder auf andere Weise JAXB-Bindungen dafür erstellen können, können Sie mit dem JAXB-Marshaller in System.out schreiben:
quelle
Probieren Sie jcabi-xml mit einem Liner aus:
quelle
Das wird in jcabi gemacht:
und es funktioniert bei mir!
quelle
Mit VTD-XML können Sie den Cursor übergeben und einen einzelnen getElementFragment-Aufruf ausführen, um das Segment abzurufen (wie durch seinen Versatz und seine Länge angegeben). Nachfolgend finden Sie ein Beispiel
quelle