如何使用java创建一个xml?

时间:2010-10-25 06:43:01

标签: java xml

我是XML的新手。我有一个需要四个输入的函数。在这四个参数的基础上使用Java创建XML。例如:

<?xml version="1.0" encoding="UTF-8">
<validateemail>
<emailid>xyz@gmail.com</emailid>
<address>abc,street</address>
</validateemail>

在形成的XML之后返回String.please引导我。

由于

7 个答案:

答案 0 :(得分:1)

也许您应该阅读一些与此相关的教程。 This是我在Google搜索中找到的第一个。

答案 1 :(得分:1)

生成XML的方法有多种:DOM,SAX,JAXP。由于它的简单性,我更喜欢DOM而不是e'thing。您可以尝试以下链接:http://genedavis.com/library/xml/java_dom_xml_creation.jsp

答案 2 :(得分:1)

Java中的内置XML API可能有点痛苦。您可能希望使用类似JDOM的内容(或任何其他可用的API)。有各种各样的教程,包括this one,它简单地涵盖了很多API。

答案 3 :(得分:0)

我假设最终的xml看起来像这样:

<?xml version="1.0" encoding="UTF-8"> 
<validateemail> 
 <emailid>xyz@gmail.com</emailid> 
 <address>abc,street</address> 
 </validateemail>

而不是引导您使用API​​,这里只是让您入门: 你必须使用StringBuilder对象。

StringBuilder sb = new StringBuilder();
 sb.AppendLine("<?xml version="1.0" encoding="UTF-8">");

然后相应地添加参数,

sb.AppendLine("<validateemail>");
sb.AppendLine("<emailid>"+emailidvalue+"</emailid>");

对其他参数也可以这样做。 这只是问题的一个大概。你如何实现它完全取决于你。

答案 4 :(得分:0)

您还可以查看上一个问题:Reading xml as string in java

答案 5 :(得分:0)

您可以使用Java DOM API,这是最简单的方法。 "Link"

答案 6 :(得分:0)

以下是我如何做到这一点的例子,告诉我它是否有帮助:)?

验证电子邮件地址

public class ValidateEmail {

    private String emailId;
    private String address;

    public ValidateEmail(){}

    public ValidateEmail(String emailId, String address) {
        this.emailId = emailId;
        this.address = address;
    }

    //Getters / Setters
    public String getEmailId() {
        return emailId;
    }

    public void setEmailId(String emailId) {
        this.emailId = emailId;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }
}


**MyXMLMaker**

package com.isi.lf.myXMLMaker;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

import org.w3c.dom.Document;
import org.w3c.dom.Element;

import com.isi.lf.entities.ValidateEmail;

public final class myXMLMaker {

    public static Document getXMLDocumentFromValidateEmail(ValidateEmail ve){

        Document doc = null;

        try {

            DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
            DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
            doc = docBuilder.newDocument();
            doc.setXmlVersion("1.0");
            doc.setXmlStandalone(true);


            //Generate the XML doc
            Element root = doc.createElement("validateemail");

            Element emailid = doc.createElement("emailid");
            emailid.setTextContent(ve.getEmailId());
            root.appendChild(emailid);

            Element address = doc.createElement("address");
            address.setTextContent(ve.getAddress());
            root.appendChild(address);

            doc.appendChild(root);


        } catch (ParserConfigurationException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        return doc;
    } 
}

**The main for the output test**

package com.isi.lf.myMain;

import org.w3c.dom.Document;

import com.isi.lf.entities.ValidateEmail;
import com.isi.lf.myXMLMaker.myXMLMaker;

public class MyMain {

    /**
     * @param args
     */
    public static void main(String[] args) {

        Document doc = myXMLMaker.getXMLDocumentFromValidateEmail(new ValidateEmail("admin@admin.com", "Montréal Canada"));

System.out.println(doc.getChildNodes().item(0).getChildNodes().item(0).getNodeName()+" : "+doc.getChildNodes().item(0).getChildNodes().item(0).getTextContent());
        System.out.println(doc.getChildNodes().item(0).getChildNodes().item(1).getNodeName()+" : "+doc.getChildNodes().item(0).getChildNodes().item(1).getTextContent());
}
}