讀取XML: Java
項目 | 控制內容 | Syntax |
1 | 使用之外部API | org.jdom.*, javax.xml.rpc.* |
2 | 讀取XML檔案 | SAXBuilder builder = new SAXBuilder(false); Document document = builder.build(file); |
3 | 取得XML檔案之根節點 | Element rootElement = document.getRootElement(); |
4 | 取得根節點有多少子節點 | List elementList = rootElement.getChildren(); |
5 | 取得根節點之屬性 | List attributes = rootElement.getAttributes(); |
6 | 取得第n個屬性之屬性名稱及屬性值 | Attribute attribute = (Attribute)attributes.get(n); 屬性名稱: attribute.getName(); 屬性值: attribute.getValue(); |
7 | 取得根節點第n個子節點之名稱及資料值 | Element element = (Element)elementList.get(n); List nodeList = element.getChildren(); for ( int index = 0; index < nodeList.size(); index++ ) { Element node = (Element)nodeList.get(index); node.getName();//節點名稱 node.getText();//節點資料值 } |
產生XML: Java
產出結果
|
import java.io.FileOutputStream;
import org.jdom.*;
import org.jdom.output.XMLOutputter;
import org.jdom.output.Format;
…
Element rootElement = new Element("addressbook"); //產生根節點
Element nameElement = new Element("name"); //產生第一個子節點
nameElement.setAttribute("age", "30"); //為第一個子節點新增一個屬性,並設定資料值
nameElement.addContent("洪鋕鋒"); //設定第一個子節點之內容
rootElement.addContent(nameElement); //將第一個子節點與根節點建立關係
Element addressElement = new Element("address");
addressElement.addContent(" Tainan ");
rootElement.addContent(addressElement);
Element telephoneElement = new Element("telephone");
telephoneElement.addContent("06-5051888");
rootElement.addContent(telephoneElement);
Element zipElement = new Element("zip");
zipElement.addContent("702");
rootElement.addContent(zipElement);
Element countryElement = new Element("country");
countryElement.addContent(" Taiwan ");
rootElement.addContent(countryElement);
Document document = new Document(rootElement); //以根節點為主,建立一個Document
FileOutputStream output = new FileOutputStream(outputFileName); //建立輸出內容之檔案
try {
XMLOutputter outputter = new XMLOutputter(); //建立一個XML檔案輸出器
Format xmlFormat = outputter.getFormat(); //取得該檔案輸出器之內容格式化工具
xmlFormat.setEncoding("Big5"); //設定該XML檔案之編碼
xmlFormat.setLineSeparator("\r\n"); //設定該XML內容每一行之間隔符號
xmlFormat.setIndent(" "); //設定內縮字元
outputter.setFormat(xmlFormat); //設定檔案之格式化工具
outputter.output(document, output); //輸出內容
} finally {
output.close(); //關閉輸出檔案
}
讀取XML: Delphi
項目 | 控制內容 | Syntax |
1 | 使用之外部API | XMLDoc |
2 | 讀取XML檔案 | var xmlDocument: TXMLDocument; xmlDocument := TXMLDocument.Create('c:\unpackingCarriers.xml'); |
3 | 取得XML檔案之根節點 | Element rootElement = document.getRootElement(); |
4 | 取得根節點有多少子節點 | List elementList = rootElement.getChildren(); |
5 | 取得根節點之屬性 | List attributes = rootElement.getAttributes(); |
6 | 取得第n個屬性之屬性名稱及屬性值 | Attribute attribute = (Attribute)attributes.get(n); 屬性名稱: attribute.getName(); 屬性值: attribute.getValue(); |
7 | 取得根節點第n個子節點之名稱及資料值 | Element element = (Element)elementList.get(n); List nodeList = element.getChildren(); for ( int index = 0; index < nodeList.size(); index++ ) { Element node = (Element)nodeList.get(index); node.getName();//節點名稱 node.getText();//節點資料值 } |
沒有留言:
張貼留言