Преобразовать элемент (org.w3c.dom) в строку в Java
У меня небольшая проблема преобразования объекта Element в String. Потому что мне нужно, чтобы строка передавалась определенному методу. Я пытался с помощью.toString() или с помощью назначения переменной String. Ни одно из испытаний не было правильным. Как мы можем легко конвертировать, и строковый объект также должен показывать точную структуру XML, как это показано для Element.
Element element = (Element) xmlList.item(i);
Вышеуказанный объект "элемент" отображается в формате XML. Я хочу конвертировать то же самое в строку в формате XML
2 ответа
Решение
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import java.io.StringWriter;
TransformerFactory transformerFactory = TransformerFactory
.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(<your-element-obj>);
StreamResult result = new StreamResult(new StringWriter());
transformer.transform(source, result);
String strObject = result.getWriter().toString();
Попробуй это
Вам нужно использовать API преобразователя.
TransformerFactory.newInstance().newTransformer().transform(new DOMSource(element), new StreamResult(System.out));