Есть ли простой способ конвертировать мой объект XML обратно в строку в Java? - PullRequest
7 голосов
/ 03 февраля 2009

У меня есть объект документа xml, который мне нужно преобразовать в строку.

Есть ли такой простой способ сделать это?

Ответы [ 3 ]

5 голосов
/ 03 февраля 2009

Вот некоторый быстрый код, который я вытащил из библиотеки, которая была рядом. Мог бы одеть это, но это работает:

import java.io.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.*;
import javax.xml.transform.stream.*;

public String TransformDocumentToString(Document doc)
{
    DOMSource dom = new DOMSource(doc);
    StringWriter writer = new StringWriter();  
    StreamResult result = new StreamResult(writer);

    TransformerFactory factory = TransformerFactory.newInstance();
    Transformer transformer = factory.newTransformer();
    transformer.transform(dom, result);

    return writer.toString();
} 

edit: как заметил ранее комментатор, у меня была синтаксическая ошибка. Мне пришлось вытащить несколько чувствительных линий, чтобы я не получил консервы и положить их в неправильном порядке. Спасибо! ; -)

1 голос
/ 03 февраля 2009

Вы можете использовать Dom4J:

OutputFormat format = OutputFormat.createPrettyPrint();
XMLWriter writer = new XMLWriter( System.out, format );
writer.write( document );
0 голосов
/ 03 февраля 2009

Я добавил это в комментарии, но потом подумал, что для дальнейшего использования людям будет проще, если я добавлю его в качестве ответа. Итак ... Ответ Джошуа. Вера правильный, но требует xalan-2.7.0.jar.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...