2016-03-01 68 views
1

我在java中使用Xerces xml庫。java xml,創建自我結束標記

我能夠像創建一個元素:

Element myElement = doc.createElement("element");

這將導致<element></element>

我該如何創建一個會導致自動關閉標籤的元素?

<element/>

感謝。

回答

0

例如你,如果你需要創建一個XML像

xml 

<?xml version="1.0" encoding="UTF-8"?> 
<RootElement> 
    <element /> 
</RootElement> 

,我們可以有我們像下面的Java代碼片斷。

import java.io.StringWriter; 

import javax.xml.parsers.DocumentBuilder; 
import javax.xml.parsers.DocumentBuilderFactory; 
import javax.xml.parsers.ParserConfigurationException; 
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 org.w3c.dom.Document; 
import org.w3c.dom.Element; 

public class XmlTransformer{ 

    public static void main(String args[]) { 
     String xml = ""; 
     try { 
      DocumentBuilderFactory docFactory = DocumentBuilderFactory 
        .newInstance(); 
      DocumentBuilder docBuilder = docFactory.newDocumentBuilder(); 
      Document doc = docBuilder.newDocument(); 
      Element rootElement = doc.createElement("RootElement"); 
      doc.appendChild(rootElement); 

      Element myElement = doc.createElement("element"); 
      rootElement.appendChild(myElement); 
      TransformerFactory transformerFactory = TransformerFactory 
        .newInstance(); 
      Transformer transformer = transformerFactory.newTransformer(); 
      DOMSource source = new DOMSource(doc); 
      StringWriter writer = new StringWriter(); 
      StreamResult result = new StreamResult(writer); 

      transformer.transform(source, result); 
      xml = writer.toString(); 
      System.out.println(" xml \n \n " +xml); 
     } catch (ParserConfigurationException pce) { 
      pce.printStackTrace(); 
     } catch (TransformerException tfe) { 
      tfe.printStackTrace(); 
     } 
    } 

}