聽(tīng)1銆佸垱寤篨ML鏂囨。錛?br />聽(tīng)import聽(tīng)java.io.*;
聽(tīng)import聽(tīng)org.jdom.*;
聽(tīng)import聽(tīng)org.jdom.input.*;
聽(tīng)import聽(tīng)org.jdom.output.*;
聽(tīng)public聽(tīng)class聽(tīng)CreateXML
聽(tīng){
聽(tīng)聽(tīng)public聽(tīng)void聽(tīng)Create()
聽(tīng)聽(tīng){
聽(tīng)聽(tīng)聽(tīng)try
聽(tīng)聽(tīng)聽(tīng){
聽(tīng)聽(tīng)聽(tīng)聽(tīng)Document聽(tīng)doc聽(tīng)=聽(tīng)new聽(tīng)Document();聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)ProcessingInstruction聽(tīng)pi=new聽(tīng)ProcessingInstruction("xml-stylesheet","type="text/xsl"聽(tīng)href="test.xsl"");
聽(tīng)聽(tīng)聽(tīng)聽(tīng)doc.addContent(pi);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)Namespace聽(tīng)ns聽(tīng)=聽(tīng)Namespace.getNamespace("http://www.bromon.org" );
聽(tīng)聽(tīng)聽(tīng)聽(tīng)Namespace聽(tīng)ns2聽(tīng)=聽(tīng)Namespace.getNamespace("other",聽(tīng)"http://www.w3c.org" );
聽(tīng)聽(tīng)聽(tīng)聽(tīng)Element聽(tīng)root聽(tīng)=聽(tīng)new聽(tīng)Element("鏍瑰厓绱?,聽(tīng)ns);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)root.addNamespaceDeclaration(ns2);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)doc.setRootElement(root);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)Element聽(tīng)el1聽(tīng)=聽(tīng)new聽(tīng)Element("鍏冪礌涓");
聽(tīng)聽(tīng)聽(tīng)聽(tīng)el1.setAttribute("灞炴?,聽(tīng)"灞炴т竴");
聽(tīng)聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)Text聽(tīng)text1=new聽(tīng)Text("鍏冪礌鍊?);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)Element聽(tīng)em聽(tīng)=聽(tīng)new聽(tīng)Element("鍏冪礌浜?).addContent("絎簩涓厓绱?);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)el1.addContent(text1);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)el1.addContent(em);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)Element聽(tīng)el2聽(tīng)=聽(tīng)new聽(tīng)Element("鍏冪礌涓?).addContent("絎笁涓厓绱?);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)root.addContent(el1);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)root.addContent(el2);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)//緙╄繘鍥涗釜絀烘牸,鑷姩鎹㈣,gb2312緙栫爜
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)XMLOutputter聽(tīng)outputter聽(tīng)=聽(tīng)new聽(tīng)XMLOutputter("聽(tīng)聽(tīng)",聽(tīng)true,"GB2312");
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)outputter.output(doc,聽(tīng)new聽(tīng)FileWriter("test.xml"));
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)}catch(Exception聽(tīng)e)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng){
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)System.out.println(e);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)}
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)}
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)public聽(tīng)static聽(tīng)void聽(tīng)main(String聽(tīng)args[])
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng){
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)new聽(tīng)CreateXML().Create();
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)}
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
聽(tīng)}
聽(tīng)2銆丏TD楠岃瘉鐨勶細(xì)
聽(tīng)import聽(tīng)java.io.*;
聽(tīng)import聽(tīng)org.jdom.*;
聽(tīng)import聽(tīng)org.jdom.input.*;
聽(tīng)import聽(tīng)org.jdom.output.*;
聽(tīng)public聽(tīng)class聽(tīng)XMLWithDTD
聽(tīng){
聽(tīng)聽(tīng)public聽(tīng)void聽(tīng)validate()
聽(tīng)聽(tīng){
聽(tīng)聽(tīng)聽(tīng)try
聽(tīng)聽(tīng)聽(tīng){
聽(tīng)聽(tīng)聽(tīng)聽(tīng)SAXBuilder聽(tīng)builder聽(tīng)=聽(tīng)new聽(tīng)SAXBuilder(true);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)builder.setFeature("http://xml.org/sax/features/validation";,true);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)Document聽(tīng)doc聽(tīng)=聽(tīng)builder.build(new聽(tīng)FileReader("author.xml"));
聽(tīng)聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)System.out.println("鎼炴巶");
聽(tīng)聽(tīng)聽(tīng)聽(tīng)XMLOutputter聽(tīng)outputter聽(tīng)=聽(tīng)new聽(tīng)XMLOutputter();
聽(tīng)聽(tīng)聽(tīng)聽(tīng)outputter.output(doc,聽(tīng)System.out);
聽(tīng)聽(tīng)聽(tīng)}catch(Exception聽(tīng)e)
聽(tīng)聽(tīng)聽(tīng){
聽(tīng)聽(tīng)聽(tīng)聽(tīng)System.out.println(e);
聽(tīng)聽(tīng)聽(tīng)}
聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)}
聽(tīng)聽(tīng)public聽(tīng)static聽(tīng)void聽(tīng)main(String聽(tīng)args[])
聽(tīng)聽(tīng){
聽(tīng)聽(tīng)聽(tīng)new聽(tīng)XMLWithDTD().validate();
聽(tīng)聽(tīng)}
聽(tīng)聽(tīng)
聽(tīng)}
聽(tīng)
闇瑕佽鏄庣殑鏄紝榪欎釜紼嬪簭娌℃湁鎸囨槑浣跨敤鍝釜DTD鏂囦歡銆侱TD鏂囦歡鐨勪綅緗槸鍦╔ML涓寚瀹氱殑錛岃屼笖DTD涓嶆敮鎸佸懡鍚嶇┖闂達(dá)紝涓涓猉ML鍙兘寮曠敤涓涓狣TD錛屾墍
浠ョ▼搴忕洿鎺ヨ鍙朮ML涓寚瀹氱殑DTD錛岀▼搴忔湰韜笉鐢ㄦ寚瀹氥備笉榪囪繖鏍蜂竴鏉ワ紝濂借薄灝卞彧鑳戒嬌鐢ㄥ閮ㄥ紡鐨凞TD寮曠敤鏂瑰紡浜?jiǎn)锛熼珮?shù)漢鎸囩偣銆?/p>
聽(tīng)3銆乆ML聽(tīng)Schema楠岃瘉鐨勶細(xì)
聽(tīng)import聽(tīng)java.io.*;
聽(tīng)import聽(tīng)org.jdom.*;
聽(tīng)import聽(tīng)org.jdom.input.*;
聽(tīng)import聽(tīng)org.jdom.output.*;
聽(tīng)public聽(tīng)class聽(tīng)XMLWithSchema
聽(tīng){
聽(tīng)聽(tīng)String聽(tīng)xml="test.xml";
聽(tīng)聽(tīng)String聽(tīng)schema="test-schema.xml";
聽(tīng)聽(tīng)public聽(tīng)void聽(tīng)validate()
聽(tīng)聽(tīng){
聽(tīng)聽(tīng)聽(tīng)try
聽(tīng)聽(tīng)聽(tīng){
聽(tīng)聽(tīng)聽(tīng)聽(tīng)SAXBuilder聽(tīng)builder聽(tīng)=聽(tīng)new聽(tīng)SAXBuilder(true);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)//鎸囧畾綰︽潫鏂瑰紡涓篨ML聽(tīng)schema
聽(tīng)聽(tīng)聽(tīng)聽(tīng)builder.setFeature("http://apache.org/xml/features/validation/schema";, 聽(tīng)true);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)//瀵煎叆schema鏂囦歡
聽(tīng)聽(tīng)聽(tīng)聽(tīng)builder.setProperty("http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation";,schema);
聽(tīng)聽(tīng)聽(tīng)聽(tīng)Document聽(tīng)doc聽(tīng)=聽(tīng)builder.build(new聽(tīng)FileReader(xml));
聽(tīng)聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)System.out.println("鎼炴巶");
聽(tīng)聽(tīng)聽(tīng)聽(tīng)XMLOutputter聽(tīng)outputter聽(tīng)=聽(tīng)new聽(tīng)XMLOutputter();
聽(tīng)聽(tīng)聽(tīng)聽(tīng)outputter.output(doc,聽(tīng)System.out);
聽(tīng)聽(tīng)聽(tīng)}catch(Exception聽(tīng)e)
聽(tīng)聽(tīng)聽(tīng){
聽(tīng)聽(tīng)聽(tīng)聽(tīng)System.out.println("楠岃瘉澶辮觸:"+e);
聽(tīng)聽(tīng)聽(tīng)}
聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)}
聽(tīng)聽(tīng)
聽(tīng)}
聽(tīng)涓婇潰鐨勭▼搴忓氨鎸囧嚭浜?jiǎn)瑕佸紩鍏ョ殑XML聽(tīng)Schema鏂囦歡鐨勪綅緗?/p>
聽(tīng)緋葷粺榛樿杈撳嚭鏄疷TF-8錛岃繖鏈夊彲鑳藉鑷村嚭鐜頒貢鐮併?/p>
聽(tīng)璇籜ML鏂囨。鐨勬妧宸у湪緗戜笂宸茬粡娉涙互錛岃繖閲屽氨娌℃湁鍐嶅垪鍑烘潵銆?/p>