2010-10-25 72 views
0

我新的XML.i有一个功能,有四个input.on这四个参数的基础上使用Java.for例如创建一个XML:如何使用java创建一个xml?

<?xml version="1.0" encoding="UTF-8"> 
<validateemail> 
<emailid>[email protected]</emailid> 
<address>abc,street</address> 
</validateemail> 

所形成XML之后是回报String.please引导我。

谢谢

回答

1

也许你应该通过一些相关的教程。 This是我在谷歌搜索中找到的第一个。

1

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

0

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

<?xml version="1.0" encoding="UTF-8"> 
<validateemail> 
<emailid>[email protected]</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>"); 

同样可以用于其它参数来进行为好。 这只是这个问题的一个粗略的想法。你如何实施它完全取决于你。

+0

确保你逃脱“字 – Anurag 2010-10-25 08:35:28

0

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

+0

我贴有如何从一个XML文件中获得的数据! – 2010-10-25 07:01:04

0

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

0

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

' ValidateEmail entitie

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("[email protected]", "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()); 
} 
} 

'