Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Java创建xml文件?_Java_Xml_Xml Parsing - Fatal编程技术网

如何使用Java创建xml文件?

如何使用Java创建xml文件?,java,xml,xml-parsing,Java,Xml,Xml Parsing,我正在使用Java Transformer创建一个xml文件。根节点的语法如下: <AUTO-RESPONSE-DOCUMENT xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://someurl">. Document doc = docBuilder.newDocument(); Element ele =

我正在使用Java Transformer创建一个xml文件。根节点的语法如下:

<AUTO-RESPONSE-DOCUMENT xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://someurl">.
Document doc = docBuilder.newDocument();
Element ele = doc.createElement("AUTO-RESPONSE-DOCUMENT");
doc.appendChild(ele);

我应该如何将上述URL放在AUTO-RESPONSE-DOCUMENT节点前面?

如果您指的是名称空间属性:您可以像设置所有其他属性一样设置它们:

        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);
将此文档转换为文本代码

        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);
它创建输出:

<?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"/>


注意,“xmlns”pefix的名称空间必须完全如图所示。

感谢您的方法。
/**
 * @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));
}