日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

怎樣利用XMLBean輕松讀寫XML(3)_Xml教程

編輯Tag賺U幣
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!

推薦:淺談XML的簡(jiǎn)易教程
文檔格式的排錯(cuò) 我媽媽_的清單中有數(shù)十條菜譜,甚至數(shù)百條。如果產(chǎn)生一個(gè)致命錯(cuò)誤,排錯(cuò)將非常困難 - 你將一行一行地尋找丟失的標(biāo)記符。如果使用幾層嵌套,發(fā)現(xiàn)錯(cuò)誤將很困難。但是可以找到很好

2. 利用scomp來(lái)生成Java Classes

scomp是XMLBean提供的一個(gè)編譯工具,它在bin的目錄下. 通過(guò)這個(gè)工具,我們可以將以上的Schema文件生成Java Classes.scomp的語(yǔ)法如下:-

scomp [options] [dirs]* [schemaFile.xsd]* [service.wsdl]* [config.xsdconfig]*

主要參數(shù)說(shuō)明:

-src [dir] -- 生成的Java Classes存放目錄

-srconly -- 不編譯Java Classes,不產(chǎn)生Jar文件

-out [jarFileName] -- 生成的Jar文件,缺省是xmltypes.jar

-compiler -- Java編譯器的路徑,即Javac的位置

schemaFile.xsd -- XML Schema文件位置

config.xsdconfig -- xsdconfig文件的位置, 這個(gè)文件主要用來(lái)制定生成的Java Class的一些文件名規(guī)則和Package的名稱,在本文,package是sample.xmlbean

在本文,我是這樣運(yùn)行的:

scomp -src build\src -out build\customerXmlBean.jar schema\customer.xsd
-compiler C:\jdk142_04\bin\javac customer.xsdconfig

這個(gè)命令行的意思是告訴scomp生成customerXmlBean.jar,放在build目錄下,同時(shí)生成源代碼放在build\src下, Schema文件是customer.xsd,xsdconfig文件是customer.xsdconfig.其實(shí), 生成的Java源代碼沒(méi)有多大作用,我們要的是jar文件.我們先看一下build\src\sample\xmlbean下生成的Classes.

CustomersDocument.java -- 整個(gè)XML文檔的Java Class映射

CustomerType.java -- 節(jié)點(diǎn)sustomer的映射

AddressType.java -- 節(jié)點(diǎn)address的映射

BillingAddressType.java -- 節(jié)點(diǎn)billingAddress的映射

PrimaryAddressType.java -- 節(jié)點(diǎn)primaryAddress的映射

好了,到此我們所有的準(zhǔn)備工作已經(jīng)完成了. 下面就開(kāi)始進(jìn)入重點(diǎn):利用剛才生成的jar文件讀寫XML.

五、利用XMLBean讀XML文件

新建一個(gè)Java Project,將XMLBean2.0.0\lib\下的Jar文件和剛才我們生成的customerXmlBean.jar加入到Project的ClassPath.

新建一個(gè)Java Class: CustomerXMLBean. 源碼如下:


package com.sample.reader;

import java.io.File;

import sample.xmlbean.*;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.xmlbeans.XmlOptions;
public class CustomerXMLBean {
private String filename = null;

public CustomerXMLBean(String filename) {
super();
this.filename = filename;
}

public void customerReader() {
try {
File xmlFile = new File(filename);
CustomersDocument doc = CustomersDocument.Factory.parse(xmlFile);
CustomerType[] customers = doc.getCustomers().getCustomerArray();

for (int i = 0; i < customers.length; i ) {
CustomerType customer = customers[i];
println("Customer#" i);
println("Customer ID:" customer.getId());
println("First name:" customer.getFirstname());
println("Last name:" customer.getLastname());
println("Gender:" customer.getGender());
println("PhoneNumber:" customer.getPhoneNumber());
// Primary address
PrimaryAddressType primaryAddress = customer.getAddress().getPrimaryAddress();
println("PrimaryAddress:");
println("PostalCode:" primaryAddress.getPostalCode());
println("AddressLine1:" primaryAddress.getAddressLine1());
println("AddressLine2:" primaryAddress.getAddressLine2());
// Billing address
BillingAddressType billingAddress = customer.getAddress().getBillingAddress();
println("BillingAddress:");
println("Receiver:" billingAddress.getReceiver());
println("PostalCode:" billingAddress.getPostalCode());
println("AddressLine1:" billingAddress.getAddressLine1());
println("AddressLine2:" billingAddress.getAddressLine2());

}
} catch (Exception ex) {
ex.printStackTrace();
}
}
private void println(String str) {
System.out.println(str);
}
public static void main(String[] args) {
String filename = "F://JavaTest//Eclipse//XMLBean//xml//customers.xml";

CustomerXMLBean customerXMLBean = new CustomerXMLBean(filename);
customerXMLBean.customerReader();
}

}

分享:解析XML輕松學(xué)習(xí)手冊(cè)(3)XML的術(shù)語(yǔ)
第三章 XML的術(shù)語(yǔ)提綱: 導(dǎo)言 一.XML文檔的有關(guān)術(shù)語(yǔ) 二.DTD的有關(guān)術(shù)語(yǔ) 導(dǎo)言 初學(xué)XML最令人頭疼的就是有一大堆新的術(shù)語(yǔ)概念要理解。由于XML本身也是一個(gè)嶄新的技術(shù),正在不斷發(fā)展和變化,各組織

來(lái)源:模板無(wú)憂//所屬分類:Xml教程/更新時(shí)間:2009-05-17
相關(guān)Xml教程