2010-10-25 62 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()); 
} 
} 

'