锘??xml version="1.0" encoding="utf-8" standalone="yes"?>韩国亚洲伊人久久综合影院,www.亚洲色图.com,亚洲真人无码永久在线http://www.tkk7.com/huhu/category/1842.htmlHuhu'Blogzh-cnThu, 01 Mar 2007 21:10:18 GMTThu, 01 Mar 2007 21:10:18 GMT60JDOM浣跨敤璇﹁В鍙婂疄渚?/title><link>http://www.tkk7.com/huhu/articles/11866.html</link><dc:creator>浼兼按嫻佸勾</dc:creator><author>浼兼按嫻佸勾</author><pubDate>Sat, 03 Sep 2005 02:26:00 GMT</pubDate><guid>http://www.tkk7.com/huhu/articles/11866.html</guid><wfw:comment>http://www.tkk7.com/huhu/comments/11866.html</wfw:comment><comments>http://www.tkk7.com/huhu/articles/11866.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/huhu/comments/commentRss/11866.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/huhu/services/trackbacks/11866.html</trackback:ping><description><![CDATA[<P>涓銆丣DOM 綆浠?/P> <P>JDOM鏄竴涓紑婧愰」鐩紝瀹冨熀浜庢爲鍨嬬粨鏋勶紝鍒╃敤綰疛AVA鐨勬妧鏈XML鏂囨。瀹炵幇瑙f瀽銆佺敓鎴愩佸簭鍒楀寲浠ュ強澶氱鎿嶄綔銆?/P> <P>JDOM 鐩存帴涓篔AVA緙栫▼鏈嶅姟銆傚畠鍒╃敤鏇翠負寮烘湁鍔涚殑JAVA璇█鐨勮澶氱壒鎬э紙鏂規硶閲嶈澆銆侀泦鍚堟蹇典互鍙婃槧灝勶級錛屾妸SAX鍜孌OM鐨勫姛鑳芥湁鏁堝湴緇撳悎璧鋒潵銆?/P> <P>鍦ㄤ嬌鐢ㄨ璁′笂灝藉彲鑳藉湴闅愯棌鍘熸潵浣跨敤XML榪囩▼涓殑澶嶆潅鎬с傚埄鐢↗DOM澶勭悊XML鏂囨。灝嗘槸涓浠惰交鏉俱佺畝鍗曠殑浜嬨?/P> <P>JDOM 鍦?000騫寸殑鏄ュぉ琚獴rett McLaughlin鍜孞ason Hunter寮鍙戝嚭鏉ワ紝浠ュ譏琛OM鍙奡AX鍦ㄥ疄闄呭簲鐢ㄥ綋涓殑涓嶈凍涔嬪銆?/P> <P>榪欎簺涓嶈凍涔嬪涓昏鍦ㄤ簬SAX娌℃湁鏂囨。淇敼銆侀殢鏈鴻闂互鍙婅緭鍑虹殑鍔熻兘錛岃屽浜嶥OM鏉ヨ錛孞AVA紼嬪簭鍛樺湪浣跨敤鏃舵潵鐢ㄨ搗鏉ユ昏寰椾笉澶柟渚褲?/P> <P>DOM鐨勭己鐐逛富瑕佹槸鏉ヨ嚜浜庣敱浜嶥om鏄竴涓帴鍙e畾涔夎璦錛圛DL錛?瀹冪殑浠誨姟鏄湪涓嶅悓璇█瀹炵幇涓殑涓涓渶浣庣殑閫氱敤鏍囧噯錛屽茍涓嶆槸涓篔AVA鐗瑰埆璁捐鐨勩侸DOM鐨勬渶鏂扮増鏈負JDOM Beta 9銆傛渶榪慗DOM琚敹褰曞埌JSR-102鍐咃紝榪欐爣蹇楃潃JDOM鎴愪負浜咼AVA騫沖彴緇勬垚鐨勪竴閮ㄥ垎銆?/P> <P>浜屻丣DOM 鍖呮瑙?/P> <P>JDOM鏄敱浠ヤ笅鍑犱釜鍖呯粍鎴愮殑<BR>org.jdom                鍖呭惈浜嗘墍鏈夌殑xml鏂囨。瑕佺礌鐨刯ava綾?BR><BR>org.jdom.adapters         鍖呭惈浜嗕笌dom閫傞厤鐨刯ava綾?/P> <P>org.jdom.filter            鍖呭惈浜唜ml鏂囨。鐨勮繃婊ゅ櫒綾?/P> <P>org.jdom.input            鍖呭惈浜嗚鍙杧ml鏂囨。鐨勭被</P> <P>org.jdom.output           鍖呭惈浜嗗啓鍏ml鏂囨。鐨勭被</P> <P>org.jdom.transform        鍖呭惈浜嗗皢jdom xml鏂囨。鎺ュ彛杞崲涓哄叾浠杧ml鏂囨。鎺ュ彛</P> <P>org.jdom.xpath            鍖呭惈浜嗗xml鏂囨。xpath鎿嶄綔鐨勭被涓夈丣DOM 綾昏鏄?/P> <P>1銆乷rg.JDOM榪欎釜鍖呴噷鐨勭被鏄綘J瑙f瀽xml鏂囦歡鍚庢墍瑕佺敤鍒扮殑鎵鏈夋暟鎹被鍨嬨?/P> <P>Attribute</P> <P>CDATA</P> <P>Coment</P> <P>DocType</P> <P>Document</P> <P>Element</P> <P>EntityRef</P> <P>Namespace</P> <P>ProscessingInstruction</P> <P>Text</P> <P>2銆乷rg.JDOM.transform鍦ㄦ秹鍙妜slt鏍煎紡杞崲鏃跺簲浣跨敤涓嬮潰鐨?涓被</P> <P>JDOMSource</P> <P>JDOMResult</P> <P>org.JDOM.input</P> <P>3銆佽緭鍏ョ被錛屼竴鑸敤浜庢枃妗g殑鍒涘緩宸ヤ綔</P> <P>SAXBuilder</P> <P>DOMBuilder</P> <P>ResultSetBuilder</P> <P>org.JDOM.output</P> <P>4銆佽緭鍑虹被錛岀敤浜庢枃妗h漿鎹㈣緭鍑?/P> <P>XMLOutputter</P> <P>SAXOutputter</P> <P>DomOutputter</P> <P>JTreeOutputter</P> <P>浣跨敤鍓嶆敞鎰忎簨欏癸細</P> <P>1.JDOM瀵逛簬JAXP 浠ュ強 TRax 鐨勬敮鎸?/P> <P>JDOM 鏀寔JAXP1.1錛氫綘鍙互鍦ㄧ▼搴忎腑浣跨敤浠諱綍鐨刾arser宸ュ叿綾?榛樿鎯呭喌涓嬫槸JAXP鐨刾arser銆?/P> <P>鍒跺畾鐗瑰埆鐨刾arser鍙敤濡備笅褰㈠紡</P> <P>SAXBuilder parser </P> <P>  = new SAXBuilder("org.apache.crimson.parser.XMLReaderImpl");</P> <P> Document doc = parser.build("<A );</P> <P> // work with the document...</P> <P>JDOM涔熸敮鎸乀RaX錛歑SLT鍙氳繃JDOMSource浠ュ強JDOMResult綾繪潵杞崲錛堝弬瑙佷互鍚庣珷鑺傦級</P> <P>2.娉ㄦ剰鍦↗DOM閲屾枃妗o紙Document錛夌被鐢眔rg.JDOM.Document 鏉ヨ〃紺恒傝繖瑕佷笌org.w3c.dom涓殑Document鍖哄埆寮錛岃繖2縐嶆牸寮忓浣曡漿鎹㈠湪鍚庨潰浼氳鏄庛?/P> <P>浠ヤ笅濡傛棤鐗規寚鍧囨寚JDOM閲岀殑Document銆?/P> <P>鍥涖丣DOM涓昏浣跨敤鏂規硶</P> <P>1.Ducument綾?/P> <P>(1)Document鐨勬搷浣滄柟娉曪細</P> <P>Element root = new Element("GREETING");</P> <P>Document doc = new Document(root);</P> <P>root.setText("Hello JDOM!");</P> <P>鎴栬呯畝鍗曠殑浣跨敤Document doc = new Document(new Element("GREETING").setText("Hello JDOM!t"));</P> <P>榪欑偣鍜孌OM涓嶅悓銆侱om鍒欓渶瑕佹洿涓哄鏉傜殑浠g爜錛屽涓嬶細</P> <P>DocumentBuilderFactory factory =DocumentBuilderFactory.newInstance();</P> <P>DocumentBuilder builder =factory.newDocumentBuilder();</P> <P>Document doc = builder.newDocument();</P> <P>Element root =doc.createElement("root");</P> <P>Text text = doc.createText("This is the root");</P> <P>root.appendChild(text);</P> <P>doc.appendChild(root);</P> <P>娉ㄦ剰浜嬮」錛欽DOM涓嶅厑璁稿悓涓涓妭鐐瑰悓鏃惰2涓垨澶氫釜鏂囨。鐩稿叧鑱旓紝瑕佸湪絎?涓枃妗d腑浣跨敤鍘熸潵鑰佹枃妗d腑鐨勮妭鐐圭殑璇濄傞鍏堥渶瑕佷嬌鐢╠etach()鎶婅繖涓妭鐐瑰垎寮鏉ャ?/P> <P>(2)浠庢枃浠躲佹祦銆佺郴緇烮D銆乁RL寰楀埌Document瀵硅薄錛?/P> <P>DOMBuilder builder = new DOMBuilder();</P> <P>Document doc = builder.build(new File("jdom_test.xml"));</P> <P>SAXBuilder builder = new SAXBuilder();</P> <P>Document doc = builder.build(url);</P> <P>鍦ㄦ柊鐗堟湰涓璂OMBuilder 宸茬粡Deprecated鎺?DOMBuilder.builder(url)錛岀敤SAX鏁堢巼浼氭瘮杈冨揩銆?/P> <P>榪欓噷涓句竴涓皬渚嬪瓙錛屼負浜嗙畝鍗曡搗瑙侊紝浣跨敤String瀵硅薄鐩存帴浣滀負xml鏁版嵁婧愶細</P> <P> public jdomTest() {</P> <P>    String textXml = null;</P> <P>    textXml = "<note>";</P> <P>    textXml = textXml +</P> <P>        "<to>aaa</to><from>bbb</from><heading>ccc</heading><body>ddd</body>";</P> <P>    textXml = textXml + "</note>";</P> <P>    SAXBuilder builder = new SAXBuilder();</P> <P>    Document doc = null;</P> <P>    Reader in= new StringReader(textXml);</P> <P>    try {</P> <P>      doc = builder.build(in);</P> <P>      Element root = doc.getRootElement();</P> <P>      List ls = root.getChildren();//娉ㄦ剰姝ゅ鍙栧嚭鐨勬槸root鑺傜偣涓嬮潰鐨勪竴灞傜殑Element闆嗗悎</P> <P>      for (Iterator iter = ls.iterator(); iter.hasNext(); ) {</P> <P>        Element el = (Element) iter.next();</P> <P>        if(el.getName().equals("to")){</P> <P>         System.out.println(el.getText());</P> <P>        }</P> <P>      }</P> <P>    }</P> <P>    catch (IOException ex) {</P> <P>      ex.printStackTrace();</P> <P>    }</P> <P>    catch (JDOMException ex) {</P> <P>      ex.printStackTrace();</P> <P>    }</P> <P>  }</P> <P>(3)DOM鐨刣ocument鍜孞DOM鐨凞ocument涔嬮棿鐨勭浉浜掕漿鎹嬌鐢ㄦ柟娉曪紝綆鍗曪紒</P> <P>DOMBuilder builder = new DOMBuilder();</P> <P>org.jdom.Document jdomDocument = builder.build(domDocument);</P> <P>DOMOutputter converter = new DOMOutputter();// work with the JDOM document鈥?/P> <P>org.w3c.dom.Document domDocument = converter.output(jdomDocument);</P> <P>// work with the DOM document鈥?/P> <P>2.XML鏂囨。杈撳嚭</P> <P>XMLOutPutter綾伙細</P> <P>JDOM鐨勮緭鍑洪潪甯哥伒媧?鏀寔寰堝縐峣o鏍煎紡浠ュ強椋庢牸鐨勮緭鍑?/P> <P>Document doc = new Document(...);</P> <P>XMLOutputter outp = new XMLOutputter();</P> <P>outp.output(doc, fileOutputStream); // Raw output</P> <P>outp.setTextTrim(true); // Compressed output</P> <P>outp.output(doc, socket.getOutputStream());</P> <P>outp.setIndent(" ");// Pretty output</P> <P>outp.setNewlines(true);</P> <P>outp.output(doc, System.out);</P> <P>璇︾粏璇峰弬闃呮渶鏂扮殑JDOM API鎵嬪唽</P> <P>3.Element 綾伙細</P> <P>(1)嫻忚Element鏍?/P> <P>Element root = doc.getRootElement();//鑾峰緱鏍瑰厓绱爀lement</P> <P>List allChildren = root.getChildren();// 鑾峰緱鎵鏈夊瓙鍏冪礌鐨勪竴涓猯ist</P> <P>List namedChildren = root.getChildren("name");// 鑾峰緱鎸囧畾鍚嶇О瀛愬厓绱犵殑list</P> <P>Element child = root.getChild("name");//鑾峰緱鎸囧畾鍚嶇О鐨勭涓涓瓙鍏冪礌</P> <P>JDOM緇欎簡鎴戜滑寰堝寰堢伒媧葷殑浣跨敤鏂規硶鏉ョ鐞嗗瓙鍏冪礌錛堣繖閲岀殑List鏄痡ava.util.List錛?/P> <P>List allChildren = root.getChildren();</P> <P>allChildren.remove(3); // 鍒犻櫎絎洓涓瓙鍏冪礌</P> <P>allChildren.removeAll(root.getChildren("jack"));// 鍒犻櫎鍙渏ack鈥濈殑瀛愬厓绱?/P> <P>root.removeChildren("jack"); // 渚挎嵎鍐欐硶</P> <P>allChildren.add(new Element("jane"));// 鍔犲叆</P> <P>root.addContent(new Element("jane")); // 渚挎嵎鍐欐硶</P> <P>allChildren.add(0, new Element("first"));</P> <P>(2)縐誨姩Elements:</P> <P>鍦↗DOM閲屽緢綆鍗?/P> <P>Element movable = new Element("movable");</P> <P>parent1.addContent(movable); // place</P> <P>parent1.removeContent(movable); // remove</P> <P>parent2.addContent(movable); // add</P> <P>鍦―om閲?/P> <P>Element movable = doc1.createElement("movable");</P> <P>parent1.appendChild(movable); // place</P> <P>parent1.removeChild(movable); // remove</P> <P>parent2.appendChild(movable); // 鍑洪敊!</P> <P>琛ュ厖錛氱籂閿欐?/P> <P>JDOM鐨凟lement鏋勯犲嚱鏁幫紙浠ュ強瀹冪殑鍏朵粬鍑芥暟錛変細媯鏌lement鏄惁鍚堟硶銆?/P> <P>鑰屽畠鐨刟dd/remove鏂規硶浼氭鏌ユ爲緇撴瀯錛屾鏌ュ唴瀹瑰涓嬶細</P> <P>1.鍦ㄤ換浣曟爲涓槸鍚︽湁鍥炵幆鑺傜偣</P> <P>2.鏄惁鍙湁涓涓牴鑺傜偣</P> <P>3.鏄惁鏈変竴鑷寸殑鍛藉悕絀洪棿錛圢amespaces錛?</P> <P>(3)Element鐨則ext鍐呭璇誨彇</P> <P><description></P> <P>A cool demo</P> <P></description></P> <P>// The text is directly available</P> <P>// Returns "\n A cool demo\n"</P> <P>String desc = element.getText();</P> <P>// There's a convenient shortcut</P> <P>// Returns "A cool demo"</P> <P>String desc = element.getTextTrim();</P> <P>(4)Elment鍐呭淇敼</P> <P>element.setText("A new description");</P> <P>3.鍙紜В閲婄壒孌婂瓧絎?/P> <P>element.setText("<xml> content");</P> <P>4.CDATA鐨勬暟鎹啓鍏ャ佽鍑?/P> <P>element.addContent(new CDATA("<xml> content"));</P> <P>String noDifference = element.getText();</P> <P>娣峰悎鍐呭</P> <P>element鍙兘鍖呭惈寰堝縐嶅唴瀹癸紝姣斿璇?/P> <P><table></P> <P><!-- Some comment --></P> <P>Some text</P> <P><tr>Some child element</tr></P> <P></table></P> <P>鍙杢able鐨勫瓙鍏冪礌tr</P> <P>String text = table.getTextTrim();</P> <P>Element tr = table.getChild("tr");</P> <P>涔熷彲浣跨敤鍙﹀涓涓瘮杈冪畝鍗曠殑鏂規硶</P> <P>List mixedCo = table.getContent();</P> <P>Iterator itr = mixedCo.iterator();</P> <P>while (itr.hasNext()) {</P> <P>Object o = i.next();</P> <P>if (o instanceof Comment) {...}</P> <P>// 榪欓噷鍙互鍐欐垚Comment, Element, Text, CDATA,ProcessingInstruction, 鎴栬呮槸EntityRef鐨勭被鍨?/P> <P>}</P> <P>// 鐜板湪縐婚櫎Comment,娉ㄦ剰榪欓噷娓告爣搴斾負1銆傝繖鏄敱浜庡洖杞﹂敭涔熻瑙f瀽鎴怲ext綾葷殑緙樻晠,鎵浠omment欏瑰簲涓?銆?/P> <P>mixedCo.remove(1); </P> <P>4.Attribute綾?/P> <P><table width="100%" border="0"> </table></P> <P>String width = table.getAttributeValue("width");//鑾峰緱attribute</P> <P>int border = table.getAttribute("width").getIntValue();</P> <P>table.setAttribute("vspace", "0");//璁劇疆attribute</P> <P>table.removeAttribute("vspace");// 鍒犻櫎涓涓垨鍏ㄩ儴attribute</P> <P>table.getAttributes().clear(); </P> <P>5.澶勭悊鎸囦護(Processing Instructions)鎿嶄綔</P> <P>涓涓狿ls鐨勪緥瀛?/P> <P><?br?></P> <P><?cocoon-process type="xslt"?></P> <P>          |        |</P> <P>          |        |</P> <P>        鐩爣     鏁版嵁</P> <P>澶勭悊鐩爣鍚嶇О(Target)</P> <P>String target = pi.getTarget();</P> <P>鑾峰緱鎵鏈夋暟鎹紙data錛夛紝鍦ㄧ洰鏍囷紙target錛変互鍚庣殑鎵鏈夋暟鎹兘浼氳榪斿洖銆?/P> <P>String data = pi.getData();</P> <P>String type = pi.getValue("type");鑾峰緱鎸囧畾灞炴х殑鏁版嵁</P> <P>List ls = pi.getNames();鑾峰緱鎵鏈夊睘鎬х殑鍚嶇О</P> <P>6.鍛藉悕絀洪棿鎿嶄綔</P> <P><xhtml:html </P> <P> xmlns:xhtml="<A ></P> <P><xhtml:title>Home Page</xhtml:title></P> <P></xhtml:html></P> <P>Namespace xhtml = Namespace.getNamespace("xhtml", "<A );</P> <P>List kids = html.getChildren("title", xhtml);</P> <P>Element kid = html.getChild("title", xhtml);</P> <P>kid.addContent(new Element("table", xhtml));</P> <P>7.XSLT鏍煎紡杞崲</P> <P>浣跨敤浠ヤ笅鍑芥暟鍙XSLT杞崲</P> <P>鏈鍚庡鏋滀綘闇瑕佷嬌鐢╳3c鐨凞ocument鍒欓渶瑕佽漿鎹竴涓嬨?/P> <P>public static Document transform(String stylesheet錛孌ocument in)</P> <P>                                        throws JDOMException {</P> <P>     try {</P> <P>       Transformer transformer = TransformerFactory.newInstance()</P> <P>                             .newTransformer(new StreamSource(stylesheet));</P> <P>       JDOMResult out = new JDOMResult();</P> <P>       transformer.transform(new JDOMSource(in), out);</P> <P>       return out.getDeocument();</P> <P>     }</P> <P>     catch (TransformerException e) {</P> <P>       throw new JDOMException("XSLT Trandformation failed", e);</P> <P>     }</P> <P>   }</P> <P>浜斻佺敤渚?</P> <P>1銆佺敓鎴恱ml鏂囨。錛?/P> <P> </P> <P> </P> <P>public class WriteXML{</P> <P>    public void BuildXML() throws Exception {</P> <P>        Element root,student,number,name,age;         </P> <P>        root = new Element("student-info"); //鐢熸垚鏍瑰厓绱狅細student-info</P> <P>        student = new Element("student"); //鐢熸垚鍏冪礌錛歴tudent(number,name,age)                             </P> <P>        number = new Element("number");</P> <P>        name = new Element("name");</P> <P>        age = new Element("age");</P> <P>        Document doc = new Document(root); //灝嗘牴鍏冪礌妞嶅叆鏂囨。doc涓?/P> <P>        number.setText("001");</P> <P>        name.setText("lnman");</P> <P>        age.setText("24");</P> <P>        student.addContent(number);</P> <P>        student.addContent(name);</P> <P>        student.addContent(age);</P> <P>        root.addContent(student);</P> <P>        Format format = Format.getCompactFormat();</P> <P>        format.setEncoding("gb2312"); //璁劇疆xml鏂囦歡鐨勫瓧絎︿負gb2312</P> <P>        format.setIndent("    "); //璁劇疆xml鏂囦歡鐨勭緝榪涗負4涓┖鏍?/P> <P>        XMLOutputter XMLOut = new XMLOutputter(format);//鍏冪礌鍚庢崲琛屼竴灞傚厓绱犵緝鍥涙牸 </P> <P>        XMLOut.output(doc, new FileOutputStream("studentinfo.xml"));  </P> <P>}</P> <P>    public static void main(String[] args) throws Exception {</P> <P>        WriteXML w = new WriteXML();</P> <P>        System.out.println("Now we build an XML document .....");</P> <P>        w.BuildXML();</P> <P>        System.out.println("finished!");</P> <P>}</P> <P>}</P> <P>鐢熸垚鐨剎ml鏂囨。涓猴細</P> <P><?xml version="1.0" encoding="gb2312"?></P> <P><student-info></P> <P>    <student></P> <P>        <number>001</number></P> <P>        <name>lnman</name></P> <P>        <age>24</age></P> <P>    </student></P> <P></student-info></P> <P> </P> <P> </P> <P>鍒涘緩XML鏂囨。2錛?/P> <P> public class CreateXML {</P> <P>  public void Create() {</P> <P>   try {</P> <P>    Document doc = new Document();   </P> <P>    ProcessingInstruction pi=new ProcessingInstruction("xml-stylesheet","type="text/xsl" href="test.xsl"");</P> <P>    doc.addContent(pi);    </P> <P>    Namespace ns = Namespace.getNamespace("<A );</P> <P>    Namespace ns2 = Namespace.getNamespace("other", "<A );</P> <P>    Element root = new Element("鏍瑰厓绱?, ns);</P> <P>    root.addNamespaceDeclaration(ns2);</P> <P>    doc.setRootElement(root);</P> <P>    Element el1 = new Element("鍏冪礌涓");</P> <P>    el1.setAttribute("灞炴?, "灞炴т竴");    </P> <P>    Text text1=new Text("鍏冪礌鍊?);</P> <P>             Element em = new Element("鍏冪礌浜?).addContent("絎簩涓厓绱?);</P> <P>    el1.addContent(text1);</P> <P>             el1.addContent(em);             </P> <P>             Element el2 = new Element("鍏冪礌涓?).addContent("絎笁涓厓绱?);</P> <P>             root.addContent(el1);</P> <P>             root.addContent(el2);             </P> <P>             //緙╄繘鍥涗釜絀烘牸,鑷姩鎹㈣,gb2312緙栫爜</P> <P>             XMLOutputter outputter = new XMLOutputter("  ", true,"GB2312");</P> <P>             outputter.output(doc, new FileWriter("test.xml"));</P> <P>         }catch(Exception e)  {</P> <P>          System.out.println(e);</P> <P>         }</P> <P>     }     </P> <P>     public static void main(String args[]) {</P> <P>      new CreateXML().Create();</P> <P>     }     </P> <P> }</P> <P>2銆佽鍙杧ml鏂囨。鐨勪緥瀛愶細</P> <P>import org.jdom.output.*;</P> <P>import org.jdom.input.*;</P> <P>import org.jdom.*;</P> <P>import java.io.*;</P> <P>import java.util.*;</P> <P>public class ReadXML{</P> <P>    public static void main(String[] args) throws Exception {</P> <P>        SAXBuilder builder = new SAXBuilder();</P> <P>        Document read_doc = builder.build("studentinfo.xml");</P> <P>        Element stu = read_doc.getRootElement();</P> <P>        List list = stu.getChildren("student");</P> <P>        for(int i = 0;i < list.size();i++) {</P> <P>            Element e = (Element)list.get(i);</P> <P>            String str_number = e.getChildText("number");</P> <P>            String str_name = e.getChildText("name");</P> <P>            String str_age = e.getChildText("age");</P> <P>            System.out.println("---------STUDENT--------------");</P> <P>            System.out.println("NUMBER:" + str_number);</P> <P>            System.out.println("NAME:" + str_name);</P> <P>            System.out.println("AGE:" + str_age);</P> <P>            System.out.println("------------------------------");</P> <P>            System.out.println();</P> <P>        }  </P> <P>       }</P> <P>}</P> <P>3銆丏TD楠岃瘉鐨勶細</P> <P> public class XMLWithDTD {</P> <P>  public void validate()  {</P> <P>   try {</P> <P>    SAXBuilder builder = new SAXBuilder(true);</P> <P>    builder.setFeature("<A ;,true</A>); </P> <P>    Document doc = builder.build(new FileReader("author.xml"));    </P> <P>    System.out.println("鎼炴巶");</P> <P>    XMLOutputter outputter = new XMLOutputter();</P> <P>    outputter.output(doc, System.out);</P> <P>   }catch(Exception e) {</P> <P>    System.out.println(e);</P> <P>   }   </P> <P>  }</P> <P>  public static void main(String args[]) {</P> <P>   new XMLWithDTD().validate();</P> <P>  }  </P> <P> }</P> <P> 銆銆闇瑕佽鏄庣殑鏄紝榪欎釜紼嬪簭娌℃湁鎸囨槑浣跨敤鍝釜DTD鏂囦歡銆侱TD鏂囦歡鐨勪綅緗槸鍦╔ML涓寚瀹氱殑錛岃屼笖DTD涓嶆敮鎸佸懡鍚嶇┖闂達紝涓涓猉ML鍙兘寮曠敤涓涓狣TD錛屾墍浠ョ▼搴忕洿鎺ヨ鍙朮ML涓寚瀹氱殑DTD錛岀▼搴忔湰韜笉鐢ㄦ寚瀹氥備笉榪囪繖鏍蜂竴鏉ワ紝濂借薄灝卞彧鑳戒嬌鐢ㄥ閮ㄥ紡鐨凞TD寮曠敤鏂瑰紡浜嗭紵楂樹漢鎸囩偣銆?/P> <P> </P> <P> </P> <P>4銆乆ML Schema楠岃瘉鐨勶細</P> <P> public class XMLWithSchema {</P> <P>  String xml="test.xml";</P> <P>  String schema="test-schema.xml";</P> <P>  public void validate() {</P> <P>   try {</P> <P>    SAXBuilder builder = new SAXBuilder(true);</P> <P>    //鎸囧畾綰︽潫鏂瑰紡涓篨ML schema</P> <P>    builder.setFeature("<A ;,  true);</P> <P>    //瀵煎叆schema鏂囦歡</P> <P>builder.setProperty("<A ;,schema</A>); </P> <P>    Document doc = builder.build(new FileReader(xml));    </P> <P>    System.out.println("鎼炴巶");</P> <P>    XMLOutputter outputter = new XMLOutputter();</P> <P>    outputter.output(doc, System.out);</P> <P>   }catch(Exception e) {</P> <P>    System.out.println("楠岃瘉澶辮觸:"+e);</P> <P>   }  </P> <P>  } </P> <P> }</P> <P> 涓婇潰鐨勭▼搴忓氨鎸囧嚭浜嗚寮曞叆鐨刋ML Schema鏂囦歡鐨勪綅緗?/P> <P> </P> <P> </P> <P> 緋葷粺榛樿杈撳嚭鏄疷TF-8錛岃繖鏈夊彲鑳藉鑷村嚭鐜頒貢鐮併?/P> <P>5銆乆path渚嬪瓙錛?/P> <P>JDOM鐨勫叧浜嶺PATH鐨刟pi鍦╫rg.jdom.xpath榪欎釜鍖呴噷銆傝繖涓寘涓嬶紝鏈変竴涓娊璞$被XPath.java鍜屽疄鐜扮被JaxenXPath.java錛?浣跨敤鏃跺厛鐢╔Path綾葷殑闈欐佹柟娉昻ewInstance(String xpath)寰楀埌XPath瀵硅薄錛岀劧鍚庤皟鐢ㄥ畠鐨剆electNodes(Object context)鏂規硶鎴杝electSingleNode(Object context)鏂規硶錛屽墠鑰呮牴鎹畑path璇彞榪斿洖涓緇勮妭鐐?List瀵硅薄)錛涘悗鑰呮牴鎹竴涓獂path璇彞榪斿洖絎﹀悎鏉′歡鐨勭涓涓妭鐐?Object綾誨瀷)銆傝鐪媕dom-1.0鑷甫鐨勮寖渚嬬▼搴忥細 </P> <P>     瀹冨垎鏋愬湪web.xml鏂囦歡涓殑娉ㄥ唽鐨剆ervlet鐨勪釜鏁板強鍙傛暟涓暟錛屽茍杈撳嚭瑙掕壊鍚嶃?</P> <P>web.xml鏂囦歡錛?</P> <P><?xml version="1.0" encoding="ISO-8859-1"?> </P> <P><!-- </P> <P><!DOCTYPE web-app </P> <P>    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" </P> <P>    "<A > </P> <P>--> </P> <P><web-app> </P> <P>    <servlet> </P> <P>        <servlet-name>snoop</servlet-name> </P> <P>        <servlet-class>SnoopServlet</servlet-class> </P> <P>    </servlet> </P> <P>    <servlet> </P> <P>        <servlet-name>file </servlet-name> </P> <P>        <servlet-class>ViewFile</servlet-class> </P> <P>        <init-param> </P> <P>            <param-name>initial</param-name> </P> <P>            <param-value>1000</param-value> </P> <P>            <description>The initial value for the counter  <!-- optional --></description> </P> <P>        </init-param> </P> <P>    </servlet> </P> <P>    <servlet-mapping> </P> <P>        <servlet-name>mv</servlet-name> </P> <P>        <url-pattern>*.wm</url-pattern> </P> <P>    </servlet-mapping> </P> <P>    <distributed/> </P> <P>    <security-role> </P> <P>      <role-name>manager</role-name> </P> <P>      <role-name>director</role-name> </P> <P>      <role-name>president</role-name> </P> <P>    </security-role> </P> <P></web-app> </P> <P>澶勭悊紼嬪簭錛?</P> <P>import java.io.*; </P> <P>import java.util.*;  </P> <P>public class XPathReader {      </P> <P>    public static void main(String[] args) throws IOException, JDOMException { </P> <P>        if (args.length != 1) { </P> <P>            System.err.println("Usage: java XPathReader web.xml"); </P> <P>            return; </P> <P>        } </P> <P>        String filename = args[0];//浠庡懡浠よ杈撳叆web.xml </P> <P>        PrintStream out = System.out; </P> <P>        SAXBuilder builder = new SAXBuilder(); </P> <P>        Document doc = builder.build(new File(filename));//寰楀埌Document瀵硅薄 </P> <P> </P> <P> </P> <P>        // Print servlet information </P> <P>        XPath servletPath = XPath.newInstance("http://servlet");//,閫夋嫨浠繪剰璺緞涓媠ervlet鍏冪礌 </P> <P>        List servlets = servletPath.selectNodes(doc);//榪斿洖鎵鏈夌殑servlet鍏冪礌銆?/P> <P>        out.println("This WAR has "+ servlets.size() +" registered servlets:"); </P> <P>        Iterator i = servlets.iterator(); </P> <P>        while (i.hasNext()) {//杈撳嚭servlet淇℃伅 </P> <P>            Element servlet = (Element) i.next(); </P> <P>            out.print("\t" + servlet.getChild("servlet-name") </P> <P>                                    .getTextTrim() + </P> <P>                      " for " + servlet.getChild("servlet-class") </P> <P>                                       .getTextTrim()); </P> <P>            List initParams = servlet.getChildren("init-param"); </P> <P>            out.println(" (it has " + initParams.size() + " init params)");  </P> <P>        }              </P> <P>        // Print security role information </P> <P>        XPath rolePath = XPath.newInstance("http://security-role/role-name/text()"); </P> <P>        List roleNames = rolePath.selectNodes(doc);//寰楀埌鎵鏈夌殑瑙掕壊鍚?</P> <P>        if (roleNames.size() == 0) { </P> <P>            out.println("This WAR contains no roles"); </P> <P>        } else { </P> <P>            out.println("This WAR contains " + roleNames.size() + " roles:"); </P> <P>            i = roleNames.iterator(); </P> <P>            while (i.hasNext()) {//杈撳嚭瑙掕壊鍚?</P> <P>                out.println("\t" + ((Text)i.next()).getTextTrim()); </P> <P>            } </P> <P>        } </P> <P>    }     </P> <P>} </P> <P> </P> <P> </P> <P>杈撳嚭緇撴灉: </P> <P>C:\java>java   XPathReader web.xml </P> <P>This WAR has 2 registered servlets: </P> <P>        snoop for SnoopServlet (it has 0 init params) </P> <P>        file for ViewFile (it has 1 init params) </P> <P>This WAR contains 3 roles: </P> <P>        manager </P> <P>        director </P> <P>        president</P> <P> </P> <P> </P> <P>6銆佹暟鎹緭鍏ヨ鐢ㄥ埌XML鏂囨。瑕侀氳繃org.jdom.input鍖咃紝鍙嶈繃鏉ラ渶瑕乷rg.jdom.output銆傚鍓嶉潰鎵璇達紝鍏蟲槸鐪婣PI鏂囨。灝辮兘澶熶嬌鐢ㄣ?</P> <P>鎴戜滑鐨勪緥瀛愯鍏ML鏂囦歡exampleA.xml錛屽姞鍏ヤ竴鏉″鐞嗘寚浠わ紝淇敼絎竴鏈功鐨勪環鏍煎拰浣滆咃紝騫舵坊鍔犱竴鏉″睘鎬э紝鐒跺悗鍐欏叆鏂囦歡exampleB.xml錛?</P> <P>//exampleA.xml </P> <P><?xml version="1.0" encoding="GBK"?> </P> <P><bookList> </P> <P><book> </P> <P><name>Java緙栫▼鍏ラ棬</name> </P> <P><author>寮犱笁</author> </P> <P><publishDate>2002-6-6</publishDate> </P> <P><price>35.0</price> </P> <P></book> </P> <P><book> </P> <P><name>XML鍦↗ava涓殑搴旂敤</name> </P> <P><author>鏉庡洓</author> </P> <P><publishDate>2002-9-16</publishDate> </P> <P><price>92.0</price> </P> <P></book> </P> <P></bookList> </P> <P>//testJDOM.java </P> <P>import org.jdom.*; </P> <P>import org.jdom.output.*; </P> <P>import org.jdom.input.*; </P> <P>import java.io.*; </P> <P>public class TestJDOM{ </P> <P>public static void main(String args[])throws Exception{ </P> <P>SAXBuilder sb = new SAXBuilder(); </P> <P>//浠庢枃浠舵瀯閫犱竴涓狣ocument錛屽洜涓篨ML鏂囦歡涓凡緇忔寚瀹氫簡緙栫爜錛屾墍浠ヨ繖閲屼笉蹇呬簡 </P> <P>Document doc = sb.build(new FileInputStream("exampleA.xml")); </P> <P>ProcessingInstruction pi = new ProcessingInstruction//鍔犲叆涓鏉″鐞嗘寚浠?</P> <P>("xml-stylesheet","href=\"bookList.html.xsl\" type=\"text/xsl\""); </P> <P>doc.addContent(pi); </P> <P>Element root = doc.getRootElement(); //寰楀埌鏍瑰厓绱?</P> <P>java.util.List books = root.getChildren(); //寰楀埌鏍瑰厓绱犳墍鏈夊瓙鍏冪礌鐨勯泦鍚?</P> <P>Element book = (Element)books.get(0); //寰楀埌絎竴涓猙ook鍏冪礌 </P> <P>//涓虹涓鏈功娣誨姞涓鏉″睘鎬?</P> <P>Attribute a = new Attribute("hot","true"); </P> <P>book.setAttribute(a); </P> <P>Element author = book.getChild("author"); //寰楀埌鎸囧畾鐨勫瓧鍏冪礌 </P> <P>author.setText("鐜嬩簲"); //灝嗕綔鑰呮敼涓虹帇浜?</P> <P>//鎴?Text t = new Text("鐜嬩簲");book.addContent(t); </P> <P>Element price = book.getChild("price"); //寰楀埌鎸囧畾鐨勫瓧鍏冪礌 </P> <P>//淇敼浠鋒牸錛屾瘮杈冮儊闂風殑鏄垜浠繀欏昏嚜宸辮漿鎹㈡暟鎹被鍨嬶紝鑰岃繖姝f槸JAXB鐨勪紭鍔?</P> <P>author.setText(Float.toString(50.0f)); </P> <P>String indent = " "; </P> <P>boolean newLines = true; </P> <P>XMLOutputter outp = new XMLOutputter(indent,newLines,"GBK"); </P> <P>outp.output(doc, new FileOutputStream("exampleB.xml")); </P> <P>} </P> <P>}; </P> <P>鎵ц緇撴灉exampleB.xml錛?</P> <P><?xml version="1.0" encoding="GBK"?> </P> <P><bookList> </P> <P><book hot=鈥漷rue鈥?gt; </P> <P><name>Java緙栫▼鍏ラ棬</name> </P> <P><author>50.0</author> </P> <P><publishDate>2002-6-6</publishDate> </P> <P><price>35.0</price> </P> <P></book> </P> <P><book> </P> <P><name>XML鍦↗ava涓殑搴旂敤</name> </P> <P><author>鏉庡洓</author> </P> <P><publishDate>2002-9-16</publishDate> </P> <P><price>92.0</price> </P> <P></book> </P> <P></bookList> </P> <P><?xml-stylesheet href="bookList.html.xsl" type="text/xsl"?> </P> <P>鍦ㄩ粯璁ゆ儏鍐典笅錛孞DOM鐨凟lement綾葷殑getText()榪欑被鐨勬柟娉曚笉浼氳繃婊ょ┖鐧藉瓧絎︼紝濡傛灉浣犻渶瑕佽繃婊わ紝鐢╯etTextTrim() 銆?/P><img src ="http://www.tkk7.com/huhu/aggbug/11866.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/huhu/" target="_blank">浼兼按嫻佸勾</a> 2005-09-03 10:26 <a href="http://www.tkk7.com/huhu/articles/11866.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>JDom浣跨敤璇﹁В http://www.tkk7.com/huhu/articles/6679.html浼兼按嫻佸勾浼兼按嫻佸勾Fri, 24 Jun 2005 07:26:00 GMThttp://www.tkk7.com/huhu/articles/6679.htmlhttp://www.tkk7.com/huhu/comments/6679.htmlhttp://www.tkk7.com/huhu/articles/6679.html#Feedback0http://www.tkk7.com/huhu/comments/commentRss/6679.htmlhttp://www.tkk7.com/huhu/services/trackbacks/6679.html 1銆佸垱寤篨ML鏂囨。錛?BR> 

import java.io.*;
 import org.jdom.
*;
 import org.jdom.input.
*;
 import org.jdom.output.
*;

 
public class CreateXML
 
{
  
public void Create()
  
{
   
try
   
{
    Document doc 
= new Document();   
    ProcessingInstruction pi
=new ProcessingInstruction("xml-stylesheet","type="text/xsl" href="test.xsl"");
    doc.addContent(pi);
    
    Namespace ns 
= Namespace.getNamespace("http://www.bromon.org" );
    Namespace ns2 
= Namespace.getNamespace("other""http://www.w3c.org" );

    Element root 
= new Element("鏍瑰厓绱?/SPAN>", ns);
    root.addNamespaceDeclaration(ns2);
    doc.setRootElement(root);
    Element el1 
= new Element("鍏冪礌涓");
    el1.setAttribute(
"灞炴?/SPAN>""灞炴т竴");
    
    Text text1
=new Text("鍏冪礌鍊?/SPAN>");
             Element em 
= new Element("鍏冪礌浜?/SPAN>").addContent("絎簩涓厓绱?/SPAN>");

    el1.addContent(text1);
             el1.addContent(em);
             
             Element el2 
= new Element("鍏冪礌涓?/SPAN>").addContent("絎笁涓厓绱?/SPAN>");

             root.addContent(el1);
             root.addContent(el2);
             
             
//緙╄繘鍥涗釜絀烘牸,鑷姩鎹㈣,gb2312緙栫爜
             XMLOutputter outputter = new XMLOutputter("  "true,"GB2312");
             outputter.output(doc, 
new FileWriter("test.xml"));
         }
catch(Exception e)
         
{
          System.
out.println(e);
         }

     }

     
     
public static void main(String args[])
     
{
      
new CreateXML().Create();
     }

     
 }


 2銆丏TD楠岃瘉鐨勶細
 

import java.io.*;
 import org.jdom.
*;
 import org.jdom.input.
*;
 import org.jdom.output.
*;

 
public class XMLWithDTD
 
{
  
public void validate()
  
{
   
try
   
{
    SAXBuilder builder 
= new SAXBuilder(true);
    builder.setFeature(
"http://xml.org/sax/features/validation";,true); 
    Document doc 
= builder.build(new FileReader("author.xml"));
    
    System.
out.println("鎼炴巶");
    XMLOutputter outputter 
= new XMLOutputter();
    outputter.output(doc, System.
out);
   }
catch(Exception e)
   
{
    System.
out.println(e);
   }

   
  }

  
public static void main(String args[])
  
{
   
new XMLWithDTD().validate();
  }

  
 }


 闇瑕佽鏄庣殑鏄紝榪欎釜紼嬪簭娌℃湁鎸囨槑浣跨敤鍝釜DTD鏂囦歡銆侱TD鏂囦歡鐨勪綅緗槸鍦╔ML涓寚瀹氱殑錛岃屼笖DTD涓嶆敮鎸佸懡鍚嶇┖闂達紝涓涓猉ML鍙兘寮曠敤涓涓狣TD錛屾墍浠ョ▼搴忕洿鎺ヨ鍙朮ML涓寚瀹氱殑DTD錛岀▼搴忔湰韜笉鐢ㄦ寚瀹氥備笉榪囪繖鏍蜂竴鏉ワ紝濂借薄灝卞彧鑳戒嬌鐢ㄥ閮ㄥ紡鐨凞TD寮曠敤鏂瑰紡浜嗭紵楂樹漢鎸囩偣銆?/P>

 3銆乆ML Schema楠岃瘉鐨勶細

 import java.io.*;
 import org.jdom.
*;
 import org.jdom.input.
*;
 import org.jdom.output.
*;

 
public class XMLWithSchema
 
{
  String xml
="test.xml";
  String schema
="test-schema.xml";
  
public void validate()
  
{
   
try
   
{
    SAXBuilder builder 
= new SAXBuilder(true);
    
//鎸囧畾綰︽潫鏂瑰紡涓篨ML schema
    builder.setFeature("http://apache.org/xml/features/validation/schema";,  true);
    
//瀵煎叆schema鏂囦歡
    builder.setProperty("http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation";,schema); 
    Document doc 
= builder.build(new FileReader(xml));
    
    System.
out.println("鎼炴巶");
    XMLOutputter outputter 
= new XMLOutputter();
    outputter.output(doc, System.
out);
   }
catch(Exception e)
   
{
    System.
out.println("楠岃瘉澶辮觸:"+e);
   }

   
  }

  
 }


 涓婇潰鐨勭▼搴忓氨鎸囧嚭浜嗚寮曞叆鐨刋ML Schema鏂囦歡鐨勪綅緗?/P>

 緋葷粺榛樿杈撳嚭鏄疷TF-8錛岃繖鏈夊彲鑳藉鑷村嚭鐜頒貢鐮併?/P>

 璇籜ML鏂囨。鐨勬妧宸у湪緗戜笂宸茬粡娉涙互錛岃繖閲屽氨娌℃湁鍐嶅垪鍑烘潵銆?/P>

浼兼按嫻佸勾 2005-06-24 15:26 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 亚洲宅男天堂a在线| 亚洲V无码一区二区三区四区观看 亚洲αv久久久噜噜噜噜噜 | 女人18特级一级毛片免费视频| 亚洲黄色网址在线观看| 99久久国产免费中文无字幕| 国产亚洲AV无码AV男人的天堂| 久久免费美女视频| 亚洲av之男人的天堂网站| 久久中文字幕免费视频| 亚洲精品美女久久久久9999| 四虎永久在线精品免费观看视频| 亚洲首页国产精品丝袜| 免费无码A片一区二三区| 亚洲精品中文字幕| 亚洲精品一级无码鲁丝片| 久久99精品免费一区二区| 亚洲AV日韩AV高潮无码专区| 91精品免费观看| 亚洲www77777| 日本a级片免费看| 国产免费伦精品一区二区三区| 久久精品国产亚洲av麻豆| 在线永久免费的视频草莓| 亚洲熟妇无码AV| 色噜噜亚洲精品中文字幕| 美丽姑娘免费观看在线观看中文版| 亚洲天堂中文字幕在线观看| 麻豆国产VA免费精品高清在线 | 99re6热视频精品免费观看| 亚洲电影免费观看| 国产免费午夜a无码v视频| 二区久久国产乱子伦免费精品| 中文字幕在线亚洲精品| 91免费在线播放| 国产精品亚洲专区无码唯爱网| 亚洲综合最新无码专区| 8x8×在线永久免费视频| 自拍偷自拍亚洲精品播放| 亚洲国产成人片在线观看| 自拍偷自拍亚洲精品第1页| 99精品国产成人a∨免费看|