荳矩擇逧ЧPath陦ィ霎セ蠑城画叫ROOT蜈�エ�order
/order
荳矩擇逧ЧPath陦ィ霎セ蠑城画叫蜈�エ�order荳ュ逧�園譛永tem蜈�エ�
/order/item
荳矩擇逧ЧPath陦ィ霎セ蠑城画叫蜈�エ�order荳句�邏�item荳ュ逧�園譛英rice蜈�エ�
/order/item/price
豕ィ驥雁Q夂畑“/”霍ッ蠕�シ蟋倶サ」陦ィ蜈�エ�逧╂l晏ッケ霍ッ蠕�
XPath螳壻ケ画��㊥蜃ス謨ー蠎?/p>
荳矩擇逧ЧPath陦ィ霎セ蠑城画叫蜈�エ�item荳ュ逧�園譛英rice蛟シ螟ァ莠?2.60逧��邏?br />
/order/item[price>12.60]
闃らせ螳壻ス榊Q?/p>
XML譁�牽蜿ッ莉・陦ィ遉コ荳コ譬太l捺桷闃らせ蠖「蠑�
XPath菴ソ逕ィ讓。蠑剰。ィ霎セ蠑剰ッ�悪XML譁�。」逧�鰍轤酬?/p>
荳荳ェXPath逧�ィ。蠑乗弍菴ソ逕ィ蜿肴万譚?#8220;/”蛻�シ蟄仙�邏�蜷坐Uー謠序qー襍\蠕?/p>
荳矩擇逧ЧPath陦ィ霎セ蠑城画叫蜈�エ�order荳句�邏�item荳ュ逧�園譛英rice蜈�エ�
/order/item/price
豕ィ驥雁Q夂畑“/”霍ッ蠕�シ蟋倶サ」陦ィ蜈�エ�逧╂l晏ッケ霍ッ蠕�.
荳咲畑“/”霍ッ蠕�シ蟋倶サ」陦ィ蜈�エ�逧�嶌蟇ケ霍ッ蠕�
item/price
逕?#8220;//”霍ッ蠕�シ蟋倶サ」陦ィ謨エ荳ェ譁�。」貊。ュ耐x擅莉カ逧�園譛牙�邏?/p>
荳矩擇逧ЧPath陦ィ霎セ蠑城画叫譁�。」荳ュ謇譛臥噪item蜈�エ�
//item
騾画叫譛ェ遏・蜈�エ�
騾夐�スW?nbsp;“*”蜿ッ逕ィ莠朱画叫譛ェ遏・XML蜈�エ�
荳矩擇逧ЧPath陦ィ霎セ蠑城画叫蜈�エ�order荳ュ逧�園譛永tem蜈�エ�謇螻樒噪蟄仙�邏?/p>
/order/item/*
荳矩擇逧ЧPath陦ィ霎セ蠑城画叫蜈�エ�order荳区園譛牙ュ吝ュ占セ育噪price蜈�エ�
/order/*/price
荳矩擇逧ЧPath陦ィ霎セ蠑城画叫謇譛牙�譛我ク、荳ェ逾門�逧аrice蜈�エ�
/*/*/price
荳矩擇逧ЧPath陦ィ霎セ蠑城画叫譁�。」謇譛牙�邏?br /> //*
騾画叫蛻�髪
菴ソ逕ィ譁メ視ャ蜿キ[]蜿ッ莉・謖�ョ夂音螳夂噪蜈�エ?/p>
荳矩擇逧ЧPath陦ィ霎セ蠑城画叫蜈�エ�order荳ュ逧┸Wャ荳荳ェitem逧�ュ仙�邏�
/order/item[1]
荳矩擇逧ЧPath陦ィ霎セ蠑城画叫蜈�エ�order荳ュ逧�怙蜷惹ク荳ェitem逧�ュ仙�邏�
/order/item[last()]
荳矩擇逧ЧPath陦ィ霎セ蠑城画叫蜈�エ�order荳ュ蜈キ譛英rice蜈�エ�逧�item蜈�エ�
/order/item[price]
荳矩擇逧ЧPath陦ィ霎セ蠑?莉主�邏�order荳ュ騾画叫蜈臧怏priceス{我コ�12.60蜈�エ�逧�item蜈�エ�
/order/item[price=16.50]
荳矩擇逧ЧPath陦ィ霎セ蠑?莉朱垳螻樔コ主�邏�order逧�item蜈�エ�荳ュ騾画叫蜈臧怏priceス{我コ�12.60蜈�エ�逧аrice蜈�エ�
/order/item[price=16.50]/price
騾画叫蜃�荳ェ霍ッ蠕�
蝨ィXPath陦ィ霎セ蠑丈クュ蕾御極逕?nbsp;"|" 碗千ョ凌Wヲ蜿ッ莉・騾画叫蜃�荳ェ霍ッ蠕� 縲ょョ櫁エィ荳頑弍騾サ霎�“荳?#8221;謫堺ス�
荳矩擇逧ЧPath陦ィ霎セ蠑?莉朱垳螻樔コ姉rder逧�item蜈�エ�荳ュ騾画叫謇譛永temNumber 蜥慧escription 蜈�エ�
/order/item/itemNumber | /order/item/description
荳矩擇逧ЧPath陦ィ霎セ蠑?莉取枚譯」荳ュ騾画叫謇譛永temNumber 蜥慧escription 蜈�エ�
//itemNumber | //description
荳矩擇逧ЧPath陦ィ霎セ蠑?莉取枚譯」荳ュ騾画叫謇譛永temNumber 蕾慧escription蜥継rice 蜈�エ�
//itemNumber | //description | //price
荳矩擇逧ЧPath陦ィ霎セ蠑?騾牙叙螻樔コ姉rder荳ュitem荳区園譛永temNumber蜈�エ�蜥御サ取枚譯」荳ュ騾画叫謇譛嬰escription蜈�エ�
/order/item/itemnumber | //description
騾画叫螻樊?br /> 蝨ィXPath荳ュ�梧園譛牙ア樊ァ芫ノ逕ィ@蜑咲シ
荳矩擇逧ЧPath陦ィ霎セ蠑?騾牙叙謇譛牙錐荳コcatalog逧�ア樊?br /> //@catalog
荳矩擇逧ЧPath陦ィ霎セ蠑?騾牙叙謇譛牙�譛営atalog螻樊ァ逧�item蜈�エ�
//item[@catalog]
荳矩擇逧ЧPath陦ィ霎セ蠑?騾牙叙謇譛牙�譛我轍菴募ア樊ァ逧�item蜈�エ�
//item[@*]
荳矩擇逧ЧPath陦ィ霎セ蠑?騾牙叙謇譛牙�譛営atalogス{我コ�"parts"螻樊ァ逧�item蜈�エ�
//item[@catalog="parts"]
縲縲Java謠蝉セ帑コ�SAX蜥轡OM荳、遘肴婿蠑冗畑莠手ァ」譫森ML,菴�叉萓ソ螯よュ?隕∬ッサ蜀吩ク荳ェ遞榊セョ螟肴揩逧ЧML,荵滉ク肴弍荳莉カ螳ケ譏鍋噪莠?
縲縲莠後々MLBeanス死莉?/p>
縲縲Hibernate蟾イ扈乗�蒭鍋岼蜑豪ケ∬。檎噪髱「蜷遷ava邇ッ蠅�噪蟇ケ雎?蜈ウ邉サ謨ー謐ョ蠎?/font>譏�蟆�キ・蜈キ.蝨ィHibernateス{牙ッケ雎?蜈ウ邉サ謨ー謐ョ蠎捺丐椣�キ・蜈キ蜃コ邇獷ケ句�?蟇メ歯ー謐ョ蠎鍋噪謫堺ス懈弍騾夊ソ⑪DBC譚・螳樒鴫逧�,蟇メ歯ー謐ョ蠎鍋噪苴Q菴墓桃菴?蠑蜿台拮蜻倬�隕∬�蟾ア蜀儡QL隸ュ蜿・譚・螳樒�? 蟇ケ雎。/蜈ウ邉サ謨ー謐ョ蠎捺丐椣�キ・蜈キ蜃コ邇ー蜷�,蟇メ歯ー謐ョ蠎鍋噪謫堺ス懆掉謌仙ッケJavaBean逧�桃菴?譫∝、ァ譁ケ萓ソ莠�焚謐ョ蠎灘シ蜿? 謇莉・螯よ棡譛我ク荳ェ邀サ莨シ逧�キ・蜈キ閭ス螟溷ョ樒鴫椣�ッケXML逧�ッサ蜀呵掉謌仙ッケJavaBean逧�桃菴?椣�シ埒死蛹帽ML逧�ッサ蜀?蜊ウ芫ノ蟇ケXML荳咲�謔臥噪蠑蜿台拮蜻倅ケ溯�譁ケ萓ソ蝨ー隸ユd�XML. 碗吩クェ蟾・蜈キ椣ア譏ッXMLBean.
縲縲荳峨∝㊥螟ⅤMLBean蜥傾ML譁�。」
縲縲XMLBean譏ッApache逧�ク荳ェ蠑貅宣。ケ逶?蜿ッ莉・莉?a snap_preview_added="spa" snap_icon_added="spa" act_suffix="" icon_trigger="false" text_trigger="true" parent_link_icon="false">http://www.apache.org荳玖擺,譛譁ー逧�沿譛ャ譏?.0. 隗」蜴句錘逶ョ蠖募ヲゆク?
xmlbean2.0.0
+---bin
+---docs
+---lib
+---samples
+---schemas
縲縲蜿ヲ螟迄q倩ヲ∝㊥螟�ク荳ェXML譁�。」(customers.xml),
縲縲蝨ィ譛ャ譁�噪萓句ュ宣�?謌台サャ椣�ッケ碗吩クェ譁�。」碗幄。瑚ッユd�謫堺ス�. 譁�。」貅千��螯ゆク�:
<?xml version="1.0" encoding="UTF-8"?>
<Customers>
<customer>
<id>1</id>
<gender>female</gender>
<firstname>Jessica</firstname>
<lastname>Lim</lastname>
<phoneNumber>1234567</phoneNumber>
<address>
<primaryAddress>
<postalCode>350106</postalCode>
<addressLine1>#25-1</addressLine1>
<addressLine2>SHINSAYAMA 2-CHOME</addressLine2>
</primaryAddress>
<billingAddress>
<receiver>Ms Danielle</receiver>
<postalCode>350107</postalCode>
<addressLine1>#167</addressLine1>
<addressLine2>NORTH TOWER HARBOUR CITY</addressLine2>
</billingAddress>
</address>
</customer>
<customer>
<id>2</id>
<gender>male</gender>
<firstname>David</firstname>
<lastname>Bill</lastname>
<phoneNumber>808182</phoneNumber>
<address>
<primaryAddress>
<postalCode>319087</postalCode>
<addressLine1>1033 WS St.</addressLine1>
<addressLine2>Tima Road</addressLine2>
</primaryAddress>
<billingAddress>
<receiver>Mr William</receiver>
<postalCode>672993</postalCode>
<addressLine1>1033 WS St.</addressLine1>
<addressLine2>Tima Road</addressLine2>
</billingAddress>
</address>
</customer>
</Customers>
縲縲碗呎弍荳荳ェ螳「謌�L噪謨ー謐ョ讓。蝙�,豈丈クェ螳「謌キ驛ス譛牙ョ「謌キセ~門捷(ID),蟋灘錐,諤ァ蛻ォ(gender),逕オ隸晏擾L��(phoneNumber)蜥悟慍蝮,蜈カ荳ュ蝨ー蝮譛我ク、荳? 鬥冶ヲ∝慍蝮(PrimaryAddress)蜥悟ク仙黒蝨ー蝮(BillingAddress),豈丈クェ蝨ー蝮譛蛾ぐセ~?蝨ー蝮1,蜥悟慍蝮2セl��.蜈カ荳ュ蟶仙黒蝨ー蝮碗俶怏謾カ苞g莠?receiver).豁、螟�,碗倩ヲ∝㊥螟�ク荳ェ驟裟|ョ譁�サ?譁�喩蜷皇ustomer.xsdconfig),碗吩クェ譁�喩逧�ス懃畑謌大錘髱「莨夊ョイ,螳�噪蜀�ョケ螯ゆク�:
<xb:config xmlns:xb="http://xml.apache.org/xmlbeans/2004/02/xbean/config">
<xb:namespace>
<xb:package>sample.xmlbean</xb:package>
</xb:namespace>
</xb:config>
縲縲蝗帙々MLBean菴ソ逕ィ豁・鬪、
縲縲蜥悟�莉夜擇蜷遷ava邇ッ蠅�噪蟇ケ雎?蜈ウ邉サ謨ー謐ョ蠎捺丐椣�キ・蜈�L噪菴ソ逕ィ豁・鬪、荳譬?蝨ィ豁」蠑丈極逕ィXMLBean蜑?謌台サャ隕∽ス應ク、荳ェ蜃�、�.
縲縲1. 逕滓�XML Schema譁�喩
縲縲莉荵域弍XML Schema譁�喩? 豁」蟶ク諠��荳?豈丈クェXML譁�喩驛ス譛我ク荳ェSchema譁�喩,XML Schema譁�喩譏ッ荳荳ェXML逧�コヲ譚滓枚莉?螳�ョ壻ケ我コ�XML譁�喩逧�サ捺桷蜥悟�邏�.莉・蜿雁ッケ蜈�エ�蜥言l捺桷逧�コヲ譚? 騾壻ソ怜慍隶イ,螯よ棡隸エXML譁�喩譏ッ謨ー謐ョ蠎馴㈹逧�ョー蠖�,驍」荵�Schema椣ア譏ッ陦ィ扈捺桷螳壻ケ?
縲縲荳゙Zサ荵磯怙隕∬ソ吩クェ譁�サ? XMLBean髴隕�夊ソ∟q吩クェ譁�喩遏・驕謎ク荳ェXML譁�喩逧�サ捺桷莉・蜿顔コヲ譚?豈泌ヲよ焚謐ョセcユd梛ス{? 蛻ゥ逕ィ碗吩クェSchema譁�喩,XMLBean椣�シ壻コァ逕滉クセpユd�逶ク蜈ウ逧Йava Classes譚・螳樒鴫蟇ケXML逧�桃菴? 閠御ス應クコ蠑蜿台拮蜻?蛻呎弍蛻ゥ逕ィXMLBean莠ァ逕溽噪Java Classes譚・螳梧�蟇ケXML逧�桃菴懆御ク埼怙隕ヾAX謌縫OM.諤取�キ莠ァ逕沽q吩クェSchema譁�喩蜻? 螯よ棡蟇ケ莠守�謔厩ML逧�シ蜿台拮蜻?蜿ッ莉・閾ェ蟾ア譚・蜀劍q吩クェSchema譁�喩,蟇ケ莠惹ク咲�謔厩ML逧�シ蜿台拮蜻?蜿ッ莉・騾夊ソ�ク莠帛キ・蜈臧擂螳梧�.豈碑セ�怏蜷咲噪螯9MLSPY蜥郡tylus Studio驛ス蜿ッ莉・騾夊ソⅤML譁�喩譚・逕滓�Schema譁�喩. 蜉�蜈・謌台サャ蟾イ扈冗函謌据q吩クェSchema譁�喩(customer.xsd):
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xs:element name="Customers">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="customer"
type="customerType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="customerType">
<xs:sequence>
<xs:element name="id" type="xs:int"/>
<xs:element name="gender" type="xs:string"/>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
<xs:element name="phoneNumber" type="xs:string"/>
<xs:element name="address" type="addressType"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="addressType">
<xs:sequence>
<xs:element name="primaryAddress" type="primaryAddressType"/>
<xs:element name="billingAddress" type="billingAddressType"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="primaryAddressType">
<xs:sequence>
<xs:element name="postalCode" type="xs:string"/>
<xs:element name="addressLine1" type="xs:string"/>
<xs:element name="addressLine2" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="billingAddressType">
<xs:sequence>
<xs:element name="receiver" type="xs:string"/>
<xs:element name="postalCode" type="xs:string"/>
<xs:element name="addressLine1" type="xs:string"/>
<xs:element name="addressLine2" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
縲縲2. 蛻ゥ逕ィscomp譚・逕滓�Java Classes
縲縲scomp譏ッXMLBean謠蝉セ帷噪荳荳ェ郛冶ッ大キ・蜈?螳�惠bin逧�岼蠖穂ク�. 騾夊ソ∟q吩クェ蟾・蜈キ,謌台サャ蜿ッ莉・椣�サ・荳顔噪Schema譁�喩逕滓�Java Classes.scomp逧�ッュ豕募ヲゆク?-
縲縲scomp [options] [dirs]* [schemaFile.xsd]* [service.wsdl]* [config.xsdconfig]*
縲縲荳サ隕∝盾謨ー隸エ譏�:
縲縲-src [dir] -- 逕滓�逧Йava Classes蟄俶叛逶ョ蠖�
縲縲-srconly -- 荳咲シ冶ッ遷ava Classes,荳堺逕櫟ar譁�喩
縲縲-out [jarFileName] -- 逕滓�逧Йar譁�喩,セ~コ逵∵弍xmltypes.jar
縲縲-compiler -- Javaセ~冶ッ大勣逧�キッ蠕�,蜊ウJavac逧�ス裟|?/p>
縲縲schemaFile.xsd -- XML Schema譁�喩菴咲スョ
縲縲config.xsdconfig -- xsdconfig譁�喩逧�ス裟|? 碗吩クェ譁�喩荳サ隕∫畑譚・蛻カ螳夂函謌千噪Java Class逧�ク莠帶枚莉カ蜷崎ァ��蜥訓ackage逧�錐ソU?蝨ィ譛ャ譁?package譏ッsample.xmlbean
縲縲蝨ィ譛ャ譁?謌第弍碗呎�キ碗占。檎�?
scomp -src build\src -out build\customerXmlBean.jar schema\customer.xsd
-compiler C:\jdk142_04\bin\javac customer.xsdconfig
縲縲碗吩クェ蜻ス葫o陦檎噪諢乗晄弍蜻願ッ鋭comp逕滓�customerXmlBean.jar,謾替惠build逶ョ蠖穂ク?蜷梧慮逕滓�貅蝉サ」遐∵叛蝨ィbuild\src荳? Schema譁�喩譏ッcustomer.xsd,xsdconfig譁�喩譏ッcustomer.xsdconfig.蜈カ螳�, 逕滓�逧Йava貅蝉サ」遐∵イ。譛牙、壼、ァ菴懃�?謌台サャ隕∫噪譏ッjar譁�喩.謌台サャ蜈育恚荳荳誼uild\src\sample\xmlbean荳狗函謌千噪Classes.
縲縲CustomersDocument.java -- 謨エ荳ェXML譁�。」逧Йava Class譏�蟆�
縲縲CustomerType.java -- 闃らせsustomer逧�丐椣?/p>
縲縲AddressType.java -- 闃らせaddress逧�丐椣?/p>
縲縲BillingAddressType.java -- 闃らせbillingAddress逧�丐椣?/p>
縲縲PrimaryAddressType.java -- 闃らせprimaryAddress逧�丐椣?/p>
縲縲螂ス莠�,蛻ー豁、謌台サャ謇譛臥噪蜃�、�キ・菴懷キイ扈丞ョ梧�莠? 荳矩擇椣ア蠑蟋玖ソ帛�驥咲�?蛻ゥ逕ィ蛻壽燕逕滓�逧�jar譁�喩隸ユd�XML.
縲縲莠斐∝茜逕ィXMLBean隸サXML譁�喩
縲縲譁ー蠕丈ク荳ェJava Project,椣�XMLBean2.0.0\lib\荳狗噪Jar譁�喩蜥悟�謇肴�莉ャ逕滓�逧�customerXmlBean.jar蜉�蜈・蛻ーProject逧ГlassPath.
縲縲譁ー蠕丈ク荳ェ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();
}
}
縲縲碗占。悟ョ?蜿ら恚霎灘�セl捺棡:
Customer#0
Customer ID:1
First name:Jessica
Last name:Lim
Gender:female
PhoneNumber:1234567
PrimaryAddress:
PostalCode:350106
AddressLine1:#25-1
AddressLine2:SHINSAYAMA 2-CHOME
BillingAddress:
Receiver:Ms Danielle
PostalCode:350107
AddressLine1:#167
AddressLine2:NORTH TOWER HARBOUR CITY
Customer#1
Customer ID:2
First name:David
Last name:Bill
Gender:male
PhoneNumber:808182
PrimaryAddress:
PostalCode:319087
AddressLine1:1033 WS St.
AddressLine2:Tima Road
BillingAddress:
Receiver:Mr William
PostalCode:672993
AddressLine1:1033 WS St.
AddressLine2:Tima Road
縲縲諤惹ケ域�?譏ッ荳肴弍蠕郁スタL收? XMLBean逧�ィ∝�?
縲縲蜈ュ縲∝茜逕ィXMLBean蜀儿ML譁�喩
縲縲蛻ゥ逕ィXMLBean蛻帛セ丈ク荳ェXML譁�。」荵滓弍荳莉カ霓サ閠梧�荳┌噪莠?謌台サャ蜀榊「槫刈荳荳ェMethod,
縲縲隸�L恚荳荳狗噪Java Class:
public void createCustomer() {
try {
// Create Document
CustomersDocument doc = CustomersDocument.Factory.newInstance();
// Add new customer
CustomerType customer = doc.addNewCustomers().addNewCustomer();
// set customer info
customer.setId(3);
customer.setFirstname("Jessica");
customer.setLastname("Lim");
customer.setGender("female");
customer.setPhoneNumber("1234567");
// Add new address
AddressType address = customer.addNewAddress();
// Add new PrimaryAddress
PrimaryAddressType primaryAddress = address.addNewPrimaryAddress();
primaryAddress.setPostalCode("350106");
primaryAddress.setAddressLine1("#25-1");
primaryAddress.setAddressLine2("SHINSAYAMA 2-CHOME");
// Add new BillingAddress
BillingAddressType billingAddress = address.addNewBillingAddress();
billingAddress.setReceiver("Ms Danielle");
billingAddress.setPostalCode("350107");
billingAddress.setAddressLine1("#167");
billingAddress.setAddressLine2("NORTH TOWER HARBOUR CITY");
File xmlFile = new File(filename);
doc.save(xmlFile);
} catch (Exception ex) {
ex.printStackTrace();
}
}
縲縲菫ョ謾ケmain method.
public static void main(String[] args) {
String filename = "F://JavaTest//Eclipse//XMLBean//xml//customers_new.xml";
CustomerXMLBean customerXMLBean = new CustomerXMLBean(filename);
customerXMLBean.createCustomer();
}
縲縲碗占。�,謇灘シcustomers_new.xml:
<?xml version="1.0" encoding="UTF-8"?>
<Customers>
<customer>
<id>3</id>
<gender>female</gender>
<firstname>Jessica</firstname>
<lastname>Lim</lastname>
<phoneNumber>1234567</phoneNumber>
<address>
<primaryAddress>
<postalCode>350106</postalCode>
<addressLine1>#25-1</addressLine1>
<addressLine2>SHINSAYAMA 2-CHOME</addressLine2>
</primaryAddress>
<billingAddress>
<receiver>Ms Danielle</receiver>
<postalCode>350107</postalCode>
<addressLine1>#167</addressLine1>
<addressLine2>NORTH TOWER HARBOUR CITY</addressLine2>
</billingAddress>
</address>
</customer>
</Customers>
縲縲荳�∝茜逕ィXMLBean菫ョ謾ケXML譁�喩
縲縲謌台サャ蜀榊「槫刈荳荳ェMethod:
public void updateCustomer(int id,String lastname) {
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];
if(customer.getId()==id){
customer.setLastname(lastname);
break;
}
}
doc.save(xmlFile);
} catch (Exception ex) {
ex.printStackTrace();
}
}
縲縲main method:
public static void main(String[] args) {
String filename = "F://JavaTest//Eclipse//XMLBean//xml//customers_new.xml";
CustomerXMLBean customerXMLBean = new CustomerXMLBean(filename);
customerXMLBean.updateCustomer(3,"last");
}
縲縲碗占。御ケ句錘,謌台サャ椣�シ夂恚蛻ー螳「謌キセ~門捷荳?逧�ョ「謌�L噪lastname蟾イ扈乗隼蒭斗ast.
縲縲蜈ォ縲∝茜逕ィXMLBean蛻�髯、荳荳ェcustomer
縲縲蜀榊「槫刈荳荳ェMethod:
public void deleteCustomer(int id) {
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];
if(customer.getId()==id){
customer.setNil() ;
break;
}
}
doc.save(xmlFile);
} catch (Exception ex) {
ex.printStackTrace();
}
}
縲縲main method:
public static void main(String[] args) {
String filename = "F://JavaTest//Eclipse//XMLBean//xml//customers_new.xml";
CustomerXMLBean customerXMLBean = new CustomerXMLBean(filename);
customerXMLBean.deleteCustomer(3);
}
縲縲碗占。�,謌台サャ椣�シ夂恚蛻ー螳「謌キセ~門捷荳?逧�ョ「謌�L噪襍�侭蟾イ扈剰「ォ蛻�髯?
縲縲荵昴∵衍隸「XML
縲縲髯、莠�悽譁�惠莉・荳願ョイ碗ー逧�,蛻ゥ逕ィXMLBean閭ス霓サ霓タL收譚替ョ梧�XML逧�ッサ蜀呎桃菴懷、�,セl灘粋XPath蜥傾Query,XMLBean碗倩�螳梧�雎。SQL譟・隸「謨ー謐ョ蠎謎ク譬臧婿萓ソ蝨ー譟・隸「XML謨ー謐ョ. 蜈ウ莠珊ML譟・隸「莉・蜿雁ヲゆス募�蠕醜ML謨ー謐ョ蠎? 謌大ー�惠蜿ヲ荳ス窮譁�ォ�驥瑚ョィ隶コ.
縲縲蜊√∫サ捺據隸ュ
縲縲XMLBean閭ス蟶ョ蜉ゥ謌台サャ霓サ譏楢ッサ蜀儿ML,碗吝ー�怏蜉ゥ莠取�莉ャ髯堺ス珊ML逧�ュヲ荵�蜥御スソ逕ィ,譛我コ�q吩クェ蝓コ遑,蠑蜿台拮蜻伜ー�クコ蟄ヲ荵�譖エ螟壼慍XML逶ク蜈ウ謚譛ッ蜥係eb Services,JMSス{牙�莉褒2EE謚譛ッ謇謎ク玖憶螂ス蝨ー蝓コ遑.