【问题标题】:how to create an xml using java?如何使用java创建一个xml?
【发布时间】:2010-10-25 06:43:01
【问题描述】:

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

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

之后形成的 XML 以字符串形式返回。请指导我。

谢谢

【问题讨论】:

    标签: java xml


    【解决方案1】:

    生成 XML 的方法有多种:DOM、SAX、JAXP。我更喜欢 DOM 而不是 e'thing 因为它的简单性。你可以试试这个链接:http://genedavis.com/library/xml/java_dom_xml_creation.jsp

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        Java 中的内置 XML API 可能有点麻烦。您可能想改用 JDOM 之类的东西(或任何其他可用的 API)。有各种可用的教程,包括 this one,它简单地涵盖了相当多的 API。

        【讨论】:

          【解决方案4】:

          我假设最终的 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>");
          

          其他参数也可以这样做。 这只是问题的一个粗略想法。如何实施完全取决于您。

          【讨论】:

          • 确保转义 " 字符
          【解决方案5】:

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

          【讨论】:

            【解决方案6】:

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

            ' ValidateEmail 实体

            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());
            }
            }
            

            '

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2014-09-06
              • 2013-11-25
              • 1970-01-01
              • 1970-01-01
              • 2011-07-09
              • 1970-01-01
              相关资源
              最近更新 更多