在java中将生成的xml存储到字符串变量中
我有下面的程序,在其中我试图生成一个XML,它也是通过DOM解析器生成的。我想将生成的XML存储到一个字符串变量中,但它不起作用 如何将生成的XML存储到字符串变量中在java中将生成的xml存储到字符串变量中,java,dom,Java,Dom,我有下面的程序,在其中我试图生成一个XML,它也是通过DOM解析器生成的。我想将生成的XML存储到一个字符串变量中,但它不起作用 如何将生成的XML存储到字符串变量中 public class generatexml { public static void main(String[] args) { //************ wantt to store the generated xml in a string ******** String
public class generatexml {
public static void main(String[] args) {
//************ wantt to store the generated xml in a string ********
String s = generatexml();
}
public static StreamResult generatexml()
{
try {
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
// root elements
Document doc = docBuilder.newDocument();
Element rootElement = doc.createElement("kermail");
doc.appendChild(rootElement);
for(int i =0 ;i<5 ;i++ )
{
Element invoiceReferenceNotificationMessage = doc.createElement("invoiceReferenceNotificationMessage");
rootElement.appendChild(invoiceReferenceNotificationMessage);
Element InvoiceReference = doc.createElement("abceReference");
InvoiceReference.appendChild(doc.createTextNode("7815"));
invoiceReferenceNotificationMessage.appendChild(abceReference);
}
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(System.out);
transformer.transform(source, result);
return result;
} catch (ParserConfigurationException pce) {
pce.printStackTrace();
} catch (TransformerException tfe) {
tfe.printStackTrace();
}
}}
公共类generatexml{
公共静态void main(字符串[]args){
//************wantt将生成的xml存储在字符串中********
字符串s=generatexml();
}
公共静态StreamResult generatexml()
{
试一试{
DocumentBuilderFactory docFactory=DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder=docFactory.newDocumentBuilder();
//根元素
Document doc=docBuilder.newDocument();
Element rootElement=doc.createElement(“kermail”);
doc.appendChild(rootElement);
对于(inti=0;i,您的代码对我来说似乎是正确的。但看起来您需要这样做
transformer.transform(source, result);
System.out.println();
return result;
其他方法如所述
更新:-
DOMSource source = new DOMSource(doc);
StringWriter writer = new StringWriter();
StreamResult result = new StreamResult(writer);
TransformerFactory tf = TransformerFactory.newInstance();
Transformer transformer = tf.newTransformer();
transformer.transform(source , result);
writer.flush();
String xmlString = writer.toString();
谢谢,但我的问题是我想将xml存储到一个字符串变量中