在Java中将元素(org.w3c.dom)转换为字符串

在Java中将元素(org.w3c.dom)转换为字符串,java,xml,element,Java,Xml,Element,我遇到了一个将元素对象转换为字符串的小问题。因为我需要一个字符串来传递给一个特定的方法。我尝试过使用.toString()或使用字符串变量赋值给它。没有一次试验是正确的。我们怎样才能轻松地转换字符串,字符串对象也应该像它为元素显示的那样显示精确的XML结构 Element element = (Element) xmlList.item(i); 上面的“element”对象以XML格式显示。我想将相同的字符串转换为XML格式您需要使用transformer API TransformerFac

我遇到了一个将元素对象转换为字符串的小问题。因为我需要一个字符串来传递给一个特定的方法。我尝试过使用.toString()或使用字符串变量赋值给它。没有一次试验是正确的。我们怎样才能轻松地转换字符串,字符串对象也应该像它为元素显示的那样显示精确的XML结构

Element element = (Element) xmlList.item(i);

上面的“element”对象以XML格式显示。我想将相同的字符串转换为XML格式

您需要使用transformer API

TransformerFactory.newInstance().newTransformer().transform(new DOMSource(element), new StreamResult(System.out));
import javax.xml.transform.Transformer;
导入javax.xml.transform.TransformerException;
导入javax.xml.transform.TransformerFactory;
导入javax.xml.transform.dom.DOMSource;
导入javax.xml.transform.stream.StreamResult;
导入java.io.StringWriter;
TransformerFactory TransformerFactory=TransformerFactory
.newInstance();
Transformer Transformer=transformerFactory.newTransformer();
DOMSource=新的DOMSource();
StreamResult=新的StreamResult(新的StringWriter());
变换(源、结果);
字符串strObject=result.getWriter().toString();

试试这个

可能是我没有外部API的副本。Virendrao,你能提到这些类的软件包吗?谢谢。。已转换为字符串的。正如我们以前讨论过的。它显示字符串数据类型本身,但仍有节点:#text如何删除xmlversion和encoding的标头?
 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();