79 votes

Convertir un fragment String XML en nœud de document en Java

En Java, comment convertir un String qui représente un fragment de XML pour l'insérer dans un document XML ?

par exemple

String newNode =  "<node>value</node>"; // Convert this to XML

Ensuite, insérez ce nœud dans un org.w3c.dom.Document comme enfant d'un nœud donné ?

5voto

ronz Points 41

Si vous utilisez dom4j, vous pouvez simplement faire :

Document document = DocumentHelper.parseText(texte) ;

(de http://www.dom4j.org/dom4j-1.6.1/guide.html )

1voto

atamar Points 11

...et si vous utilisez uniquement XOM, quelque chose comme ça :

    String xml = "<fakeRoot>" + xml + "</fakeRoot>";
    Document doc = new Builder( false ).build( xml, null );
    Nodes children = doc.getRootElement().removeChildren();
    for( int ix = 0; ix < children.size(); ix++ ) {
        otherDocumentElement.appendChild( children.get( ix ) );
    }

XOM utilise fakeRoot en interne pour faire à peu près la même chose, donc cela devrait être sûr, même si ce n'est pas très élégant.

1voto

yegor256 Points 21737

Essayez jcabi-xml avec une seule phrase :

Node node = new XMLDocument("<node>value</node>").node();

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X