2011-08-09 35 views
4

有没有办法在Java中打印没有XML头标签的XML内容?在没有XML文件标签的Java中打印XML

例如,如果我有一个这样的XML:

<?xml version='1.0' encoding='UTF-8'?> 
<rootElement> 
<childElement>Text</childElement> 
</rootElement> 

我只想打印

<rootElement> 
<childElement>Text</childElement> 
</rootElement> 

这是非常相似,我到目前为止做: http://sacrosanctblood.blogspot.com/2008/07/convert-xml-file-to-xml-string-in-java.html

我不能给出确切的源代码,但上面的链接示例应该给你一些想法。下面是与进口代码:

import javax.xml.parsers.DocumentBuilder; 
import javax.xml.parsers.DocumentBuilderFactory; 
import javax.xml.transform.TransformerFactory; 
import javax.xml.transform.Transformer; 
import javax.xml.transform.dom.DOMSource; 
import javax.xml.transform.stream.StreamResult; 
import javax.xml.transform.TransformerConfigurationException; 
import javax.xml.transform.TransformerException; 
import org.w3c.dom.Attr; 
import org.w3c.dom.Document; 
import org.w3c.dom.Text; 

public String convertXMLFileToString(String fileName) 
     { 
      try{ 
      DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance(); 
      InputStream inputStream = new FileInputStream(new File(fileName)); 
      org.w3c.dom.Document doc = documentBuilderFactory.newDocumentBuilder().parse(inputStream); 
      StringWriter stw = new StringWriter(); 
      Transformer serializer = TransformerFactory.newInstance().newTransformer(); 
      serializer.transform(new DOMSource(doc), new StreamResult(stw)); 
      return stw.toString(); 
      } 
      catch (Exception e) { 
      e.printStackTrace(); 
      } 
      return null; 
     } 
+0

你怎么写xml?使用哪个库/工具?你可以发布的Java代码? –

回答

15
Transformer serializer = TransformerFactory.newInstance().newTransformer(); 
serializer.setOutputProperty("omit-xml-declaration", "yes"); 
serializer.transform(new DOMSource(doc), new StreamResult(stw)); 

好老XSL)。

+2

而且[OutputKeys](http://download.oracle.com/javase/7/docs/api/javax/xml/transform/OutputKeys.html#OMIT_XML_DECLARATION)中甚至还有一个String常量。 –

+0

谢谢..看起来很有希望。让我尝试一下,然后回来! – Ankit

+0

真棒!谢谢..那工作!投票赞成:) – Ankit