2016-04-29 11 views
-1

ich eine XML-Datei erschaffe Knoten mit Hilfe von Java Transformators Wurzel hat Syntax wie folgt:Wie erstellt man eine XML-Datei mit Java?

<AUTO-RESPONSE-DOCUMENT xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://someurl">. 

Ich bin der Wurzelknoten wie folgt zu erstellen:

Document doc = docBuilder.newDocument(); 
Element ele = doc.createElement("AUTO-RESPONSE-DOCUMENT"); 
doc.appendChild(ele); 

Wie soll ich die oben genannten URLs setzen vor dem AUTO-RESPONSE-DOKUMENT-Knoten?

Antwort

0

Wenn Sie die Namespace-Attribute bedeuten: Sie sie wie alle anderen atributes einstellen:

 Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument(); 
     Element ele = doc.createElement("AUTO-RESPONSE-DOCUMENT"); 

     //Add namespace attibutes 
     ele.setAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance"); 
     ele.setAttribute("xmlns:xsd", "http://www.w3.org/2001/XMLSchema"); 
     ele.setAttribute("xmlns", "http://someurl"); 
     doc.appendChild(ele); 

Setzen Sie durch dieses Dokument-zu-Text-Code

 Transformer transformer = TransformerFactory.newInstance().newTransformer(); 
     transformer.setOutputProperty(OutputKeys.INDENT, "yes"); 
     //initialize StreamResult with File object to save to file 
     StreamResult result = new StreamResult(new StringWriter()); 
     DOMSource source = new DOMSource(doc); 
     transformer.transform(source, result); 
     String xmlString = result.getWriter().toString(); 
     System.out.println(xmlString); 

Es schafft die Ausgabe:

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<AUTO-RESPONSE-DOCUMENT xmlns="http://someurl" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/> 
+0

Oben Code behoben mein Problem.Vielen Dank. –

+0

Fühlen Sie sich frei, die Antwort in diesem Fall zu akzeptieren :-) – Jan

0
/** 
* @param args 
* @throws ParserConfigurationException 
*/ 
public static void main(String[] args) throws Exception { 
    DocumentBuilder docBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder(); 
    Document doc = docBuilder.newDocument(); 
    Element ele = doc.createElement("AUTO-RESPONSE-DOCUMENT"); 
    doc.appendChild(ele); 
    ele.setAttribute("xmlns", "http://someurl"); 
    ele.setAttributeNS("http://www.w3.org/2000/xmlns/", "xmlns:xsd", "http://www.w3.org/2001/XMLSchema"); 
    ele.setAttributeNS("http://www.w3.org/2000/xmlns/", "xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance"); 
    TransformerFactory.newInstance().newTransformer().transform(new DOMSource(doc), new StreamResult(System.out)); 
} 

N Hinweis: Der Namespace für "xmlns" -Pefix muss genau so aussehen wie dargestellt.

+0

Danke für den Ansatz. –

Verwandte Themen