锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲网址在线观看,亚洲一区二区高清,亚洲人成在线免费观看http://www.tkk7.com/flustar/category/22096.html涓嶆槸鍥犱負鏈変簺浜嬫儏闅句互鍋氬埌錛屾垜浠墠澶卞幓鑷俊錛岃屾槸鍥犱負鎴戜滑澶卞幓浜嗚嚜淇★紝鏈変簺浜嬫儏鎵嶉毦浠ュ仛鍒般?/description>zh-cnTue, 20 Nov 2007 23:21:47 GMTTue, 20 Nov 2007 23:21:47 GMT60鍩轟簬spring+dwr+xml鏃犲埛鏂版姇紲?璋冩煡)緋葷粺http://www.tkk7.com/flustar/archive/2007/11/19/spring_dwr_xml.htmlflustarflustarMon, 19 Nov 2007 10:04:00 GMThttp://www.tkk7.com/flustar/archive/2007/11/19/spring_dwr_xml.htmlhttp://www.tkk7.com/flustar/comments/161691.htmlhttp://www.tkk7.com/flustar/archive/2007/11/19/spring_dwr_xml.html#Feedback0http://www.tkk7.com/flustar/comments/commentRss/161691.htmlhttp://www.tkk7.com/flustar/services/trackbacks/161691.html涓銆佸緩绔媥ml鐨勬暟鎹粨鏋勶紝鏂囦歡鍚嶄負錛歷ote.xml錛屽唴瀹瑰涓嬶細

<?xml version="1.0" encoding="UTF-8"?>

<votes voteTotalCount="0">

    <vote voteId="1" name="c璇█ " voteCount="0" percentum="0" />

    <vote voteId="2" name="c++" voteCount="0" percentum="0" />

    <vote voteId="3" name="java" voteCount="0" percentum="0" />

    <vote voteId="4" name="姹囩紪璇█" voteCount="0" percentum="0" />

 </votes>

鍦ㄤ綘鐨剋eb搴旂敤鐨勬牴鐩綍寤虹珛xml鏂囦歡澶癸紝灝嗗叾鎷瘋礉鍒拌鐩綍涓嬨?/p>

浜屻佸緩绔媥ml瀵瑰簲鐨刡ean

/**

 * @author flustar

 * @version 鍒涘緩鏃墮棿錛欽ul 11, 2007 5:17:53 PM

 * 綾昏鏄?/p>

 */

……………………………………………………………………….

……………………………………………………………………….

public class VoteBean {

    private String voteId;

   private String name;

    private String voteCount;

    private String voteTotalCount;

    private String percentum;

    public VoteBean() {

      

    }

    public String getPercentum() {

       return percentum;

    }

    public void setPercentum(String percentum) {

       this.percentum = percentum;

    }

    public String getVoteId() {

       return voteId;

    }

 

    public void setVoteId(String voteId) {

       this.voteId = voteId;

    }

    public String getName() {

       return name;

    }

    public void setName(String name) {

       this.name = name;

    }

    public String getVoteCount() {

       return voteCount;

    }

 

    public void setVoteCount(String voteCount) {

       this.voteCount = voteCount;

    }

}

涓夈佸緩绔嬪鐞嗗叿浣撻昏緫鐨剆ervice

package com.flustar.service;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.text.NumberFormat;

import java.util.ArrayList;

import java.util.Iterator;

import java.util.List;

import org.jdom.Attribute;

import org.jdom.Document;

import org.jdom.Element;

import org.jdom.input.SAXBuilder;

import org.jdom.output.Format;

import org.jdom.output.XMLOutputter;

import org.jdom.xpath.XPath;

import com.flustar.web.beans.VoteBean;

import com.flustar.web.config.ContextConfig;

public class VoteService {

       private Element root, vote;

       private Document doc;

      private Attribute voteTotalCount;

       private VoteBean voteBean;

       private List<VoteBean> voteBeanList;

       private String path = ContextConfig.getContextPath()

                     + "/xml/vote.xml";

       public void buildDoc() throws Exception {

              FileInputStream fi = null;

              fi = new FileInputStream(path);

              SAXBuilder sb = new SAXBuilder();

              doc = sb.build(fi);

       }

       public void formatDoc() throws Exception {

              Format format = Format.getCompactFormat();

              format.setEncoding("UTF-8");// 璁劇疆xml鏂囦歡鐨勫瓧絎︿負UTF-8

              format.setIndent("    ");// 璁劇疆xml鏂囦歡緙╄繘涓?涓┖鏍?/p>

              XMLOutputter xmlOut = new XMLOutputter(format);

              xmlOut.output(doc, new FileOutputStream(path));

       }

 

       public String floatToPercentum(Double doubleNum) {

              NumberFormat numberFormat = NumberFormat.getPercentInstance();

              numberFormat.setMinimumFractionDigits(2);

              // numberFormat.setMaximumIntegerDigits(2);

              String str = numberFormat.format(doubleNum);

              //System.out.println(str);

              return str;

       }

 

       public void updateVoteCount(String voteId) throws Exception {

              buildDoc();

              root = doc.getRootElement();

              vote = (Element) XPath.selectSingleNode(root, "http://vote[@voteId='"

                            + voteId + "']");

              int voteCount = Integer.parseInt(vote.getAttributeValue("voteCount")) + 1;

              //System.out.println(voteCount);

              vote.setAttribute("voteCount", String.valueOf(voteCount));

              int totalCount = Integer.parseInt(root

                            .getAttributeValue("voteTotalCount")) + 1;

              voteTotalCount = new Attribute("voteTotalCount", String

                            .valueOf(totalCount));

              root.setAttribute(voteTotalCount);

              System.out.println(totalCount);

              formatDoc();

              updateAllVoteCount();//鏇存柊鎵鏈夌殑鐧懼垎姣?/p>

 

       }

    public void updateAllVoteCount()throws Exception{

           buildDoc();

           root=doc.getRootElement();

           int totalCount = Integer.parseInt(root

                            .getAttributeValue("voteTotalCount"));

           List voteList=XPath.selectNodes(root,"/votes/vote");

           for(int i=0;i<voteList.size();i++){

                  vote=(Element)voteList.get(i);

                  int voteCount = Integer.parseInt(vote.getAttributeValue("voteCount"));

                  System.out.println(voteCount);

                  vote.setAttribute("voteCount", String.valueOf(voteCount));

                  vote.setAttribute("percentum", floatToPercentum(1.0 * voteCount

                                / totalCount));

           }

           formatDoc();

    }

       public List getAllVote() throws Exception {

              buildDoc();

              voteBeanList = new ArrayList();

              root = doc.getRootElement();

              String totalCount = root.getAttributeValue("voteTotalCount");

              List voteList = root.getChildren();

              Iterator i = voteList.iterator();

 

              while (i.hasNext()) {

                     voteBean = new VoteBean();

                     voteBean.setVoteTotalCount(totalCount);

                     vote = (Element) i.next();

                     String name = vote.getAttributeValue("name");

                     String voteCount = vote.getAttributeValue("voteCount");

                     String percentum = vote.getAttributeValue("percentum");

 

                     voteBean.setName(name);

                     voteBean.setVoteCount(voteCount);

                     voteBean.setPercentum(percentum);

                     voteBeanList.add(voteBean);

              }

              return voteBeanList;

       }

 

}

 

    public String getVoteTotalCount() {

       return voteTotalCount;

    }

 

    public void setVoteTotalCount(String voteTotalCount) {

       this.voteTotalCount = voteTotalCount;

    }

}

 

鍥涖佽幏鍙栦笂涓嬫枃璺緞鐨刲istener

package com.flustar.web.listener;

import javax.servlet.ServletContextEvent;

import javax.servlet.ServletContextListener;

import com.flustar.web.config.ContextConfig;

public class ConfigLoadContextListener implements  ServletContextListener{

    public void contextDestroyed(ServletContextEvent arg0) {

       // TODO Auto-generated method stub

           }

    public void contextInitialized(ServletContextEvent contextEvent) {

       // TODO Auto-generated method stub

              String contextPath = contextEvent.getServletContext().getRealPath("/");

       ContextConfig.setContextPath(contextPath);

           }

}

………………………………………………………..

……………………………………………………………

 

public class ContextConfig {

    private static String contextPath;

 

    public static String getContextPath() {

       return contextPath;

    }

 

    public static void setContextPath(String contextPath) {

       ContextConfig.contextPath = contextPath;

    }

……………………………………………………………………

………………………………………………………………..

}

浜斻佸湪applicationContext-service.xml涓敞鍐孷oteService

<bean name="voteService" class="com.flustar.service.imp.VoteService"/>

鍏佹敞鍐寈ml錛屽湪浣犵殑web搴旂敤鐨刉EB-INFO鐩綍涓嬪緩绔媋pplicationContext-dwr.xml鏂囦歡錛屽唴瀹逛負錛?/p>

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd">

<dwr>

    <allow>

      <create  creator="spring" javascript="VoteService" >

         <param name="beanName" value="voteService"></param>

         <include method="updateVoteCount"/>

         <include method="getAllVote"/>

      </create>

      <convert converter="bean"  match="com.flustar.web.beans.VoteBean" />

           </allow>

</dwr>

 

涓冦佷慨鏀箇eb.xml

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns="http://java.sun.com/xml/ns/j2ee"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"

    version="2.4">

    …………………………………………………………………………………………………………………………

………………………………………………………………………………………………………………………………..

    <context-param>

       <param-name>contextConfigLocation</param-name>

       <param-value>

…………………………………..

       /WEB-INF/classes/applicationContext-service.xml

</param-value>

    </context-param>

 …………………………………………………………………………………………………………………………………………….     <listener-class>com.flustar.web.listener.ConfigLoadContextListener</listener-class>

    …………………………………………………………………………………………………………………………………………….   

  <servlet>

    <servlet-name>dwr-invoker</servlet-name>

    <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>

    <init-param>

      <param-name>debug</param-name>

      <param-value>true</param-value>

    </init-param>

  </servlet>

 

  <servlet-mapping>

    <servlet-name>dwr-invoker</servlet-name>

    <url-pattern>/dwr/*</url-pattern>

  </servlet-mapping> 

…………………………………………………………………………………………………………………………………………….   

</web-app>

鍏乯sp欏甸潰

1)

<%@ page contentType="text/html; charset=gbk" language="java" import="java.sql.*" errorPage="" %>

<html>

<head>

<title>鎶曠エ緋葷粺</title>

       <script type='text/javascript' src='dwr/engine.js'> </script>

        <script type='text/javascript' src='dwr/util.js'> </script>

        <script type='text/javascript' src='dwr/interface/VoteService.js'> </script>

       <script type='text/javascript'>

function vote(){

       

     var   obj=document.getElementsByName('radio'); 

    

         if   (obj!=null){ 

         var j=0;

           for   (var   i=0;i<obj.length;i++){ 

             if   (obj[i].checked)  

              {  

               

                   VoteService.updateVoteCount(obj[i].value);

                   alert("鎶曠エ鎴愬姛!");

                  obj[i].checked=false;

                  break;

               }

              }

               j=j+1;

             

          }

         if(j==obj.length){

                alert("璇烽変腑鍏朵腑鐨勪竴欏癸紝鍐嶆姇紲?");

               }

          

      }

   

    }

  function showwin(){

    window.open('voteresult.htm','voteresult','height=400, width=400, top=0, left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no');

   }

 }

</script>

</head>

<body>

<div >

    <h1 >

       浣犱嬌鐢ㄦ渶澶氱殑涓闂ㄨ璦鏄紵

    </h1>

</div>

<div>

<div>

        <span>     <h1><input type="radio" name="radio" id="radio" value="1" />

       C璇█</h1>

        </span>

       <span> <h1 ><input type="radio" name="radio" id="radio" value="2" />c++ </h1> </span>

       <span ><h1 ><input type="radio" name="radio" id="radio" value="3" />java </h1> </span>

       <span><h1 ><input type="radio" name="radio" id="radio" value="4"/>姹囩紪璇█</h1> </span>

</div>

</div>

<div id="toupiao"><input class="btn" type="button" value="鎶曠エ" onClick="vote()" /><input class="btn" type="button" value="鏌ョ湅" onClick="showwin()"/></div>

</body>

</html>

2)

<html>

<head>

<meta http-equiv="content-type" content="text/html; charset=gb2312">

<title>鎶曠エ緇撴灉</title>

       <script type='text/javascript' src='dwr/engine.js'> </script>

        <script type='text/javascript' src='dwr/util.js'> </script>

        <script type='text/javascript' src='dwr/interface/VoteService.js'> </script>

        <script type='text/javascript' >

function showresult(){

             VoteService.getAllVote(function(data){

             document.getElementById("totalCount").innerHTML=data[0].voteTotalCount;

             for(var i=0;i<data.length;i++){

                  var voteBean=data[i];

                  document.getElementById("xuanshou"+i).innerHTML=voteBean.name;

                  document.getElementById("baifenbi"+i).innerHTML=voteBean.percentum;

                  document.getElementById("piaoshu"+i).innerHTML=voteBean.voteCount;

                  document.getElementById("img"+i).width=voteBean.voteCount/data[0].voteTotalCount*310;

                                   

      }

    });

          

}

</script>

</head>

<body onLoad="showresult()">

<div id="voteRs">

<table border="0" cellpadding="0" cellspacing="0">

  <CAPTION valign="top" class="subject">

鎶曠エ緇撴灉

    </CAPTION>

  <tbody>

  <tr >

    <th>璇█</th>

    <th>鐧懼垎姣?lt;/th>

    <th>紲ㄦ暟</th>

  </tr>

  <tr>

    <td><span id="xuanshou0"></span></td>

    <td><span id="baifenbi0"></span><img id="img0" src='images/voteprogress.gif' width=0 height=10></td>

    <td><span id="piaoshu0"></span></td>

  </tr>

  <tr>

    <td><span id="xuanshou1"></span></td>

    <td><span id="baifenbi1"></span><img id="img1" src='images/voteprogress.gif' width=0 height=10></td>

    <td><span id="piaoshu1"></span></td>

  </tr>

  <tr>

    <td><span id="xuanshou2"></span></td>

    <td><span id="baifenbi2"></span><img id="img2" src='images/voteprogress.gif' width=0 height=10></td>

    <td><span id="piaoshu2"></span></td>

  </tr>

   <tr>

    <td><span id="xuanshou3"></span></td>

    <td><span id="baifenbi3"></span><img id="img3" src='images/voteprogress.gif' width=0 height=10></td>

    <td><span id="piaoshu3"></span></td>

  </tr>

 

  </tbody>

</table>

鍏?lt;span id="totalCount"></span>鏉℃姇紲?lt;br/>

[<span onClick="javascript:window.close();">鍏抽棴紿楀彛</span>]

</div>

</body>

</html>

 



flustar 2007-11-19 18:04 鍙戣〃璇勮
]]>
JDOM浣跨敤璇﹁В鍙婂疄渚?/title><link>http://www.tkk7.com/flustar/archive/2007/04/29/114561.html</link><dc:creator>flustar</dc:creator><author>flustar</author><pubDate>Sun, 29 Apr 2007 06:08:00 GMT</pubDate><guid>http://www.tkk7.com/flustar/archive/2007/04/29/114561.html</guid><wfw:comment>http://www.tkk7.com/flustar/comments/114561.html</wfw:comment><comments>http://www.tkk7.com/flustar/archive/2007/04/29/114561.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/flustar/comments/commentRss/114561.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/flustar/services/trackbacks/114561.html</trackback:ping><description><![CDATA[<span style="color: #3e3838;" class="checkoutHeader"><strong>JDOM鏄竴涓紑婧愰」鐩紝瀹冨熀浜庢爲鍨嬬粨鏋勶紝鍒╃敤綰疛AVA鐨勬妧鏈XML鏂囨。瀹炵幇瑙f瀽銆佺敓鎴愩佸簭鍒楀寲浠ュ強澶氱鎿嶄綔銆?/strong></span> <font style="color: #3e3838;" color="#009900"> </font> <div style="color: #3e3838;" id="content"> <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綾?/p> <p> </p> <p>org.jdom.adapters         鍖呭惈浜嗕笌dom閫傞厤鐨刯ava綾?/p> <p> </p> <p>org.jdom.filter            鍖呭惈浜唜ml鏂囨。鐨勮繃婊ゅ櫒綾?/p> <p> </p> <p>org.jdom.input            鍖呭惈浜嗚鍙杧ml鏂囨。鐨勭被</p> <p> </p> <p>org.jdom.output           鍖呭惈浜嗗啓鍏ml鏂囨。鐨勭被</p> <p> </p> <p>org.jdom.transform        鍖呭惈浜嗗皢jdom xml鏂囨。鎺ュ彛杞崲涓哄叾浠杧ml鏂囨。鎺ュ彛</p> <p> </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("http://www.cafeconleche.org/");</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"));// 鍒犻櫎鍙?#8220;jack”鐨勫瓙鍏冪礌</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="http://www.w3.org/1999/xhtml"></p> <p><xhtml:title>Home Page</xhtml:title></p> <p></xhtml:html></p> <p>Namespace xhtml = Namespace.getNamespace("xhtml", "http://www.w3.org/1999/xhtml");</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("http://www.bromon.org" );</p> <p>    Namespace ns2 = Namespace.getNamespace("other", "http://www.w3c.org" );</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("http://xml.org/sax/features/validation";,true); </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涓寚瀹氱殑錛岃? 涓擠TD涓嶆敮鎸佸懡鍚嶇┖闂達紝涓涓猉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("http://apache.org/xml/features/validation/schema";,  true);</p> <p>    //瀵煎叆schema鏂囦歡</p> <p>builder.setProperty("http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation";,schema); </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>    "http://java.sun.com/j2ee/dtds/web-app_2.2.dtd"> </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=”true”> </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> </div><img src ="http://www.tkk7.com/flustar/aggbug/114561.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/flustar/" target="_blank">flustar</a> 2007-04-29 14:08 <a href="http://www.tkk7.com/flustar/archive/2007/04/29/114561.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p> <a href="http://www.tkk7.com/" title="亚洲av成人片在线观看">亚洲av成人片在线观看</a> <div class="friend-links"> </div> </div> </footer> 主站蜘蛛池模板: <a href="http://ztsf6688.com" target="_blank">免费国产在线观看不卡</a>| <a href="http://bjhuicui.com" target="_blank">日韩欧毛片免费视频</a>| <a href="http://51huanxin.com" target="_blank">亚洲福利在线播放</a>| <a href="http://nmcytsi.com" target="_blank">国产亚洲精品91</a>| <a href="http://56kaifa.com" target="_blank">亚洲av中文无码</a>| <a href="http://mabaolu.com" target="_blank">男女污污污超污视频免费在线看</a>| <a href="http://txtmp3.com" target="_blank">免费午夜爽爽爽WWW视频十八禁</a>| <a href="http://72c5.com" target="_blank">免费无毒a网站在线观看</a>| <a href="http://tjbdyx.com" target="_blank">国产精品亚洲视频</a>| <a href="http://cc19123.com" target="_blank">99re6在线精品免费观看</a>| <a href="http://ygpx6.com" target="_blank">日韩亚洲AV无码一区二区不卡</a>| <a href="http://ksyanhui.com" target="_blank">中文字幕免费视频</a>| <a href="http://xjtuykw.com" target="_blank">激情内射亚洲一区二区三区爱妻</a>| <a href="http://xiaojiejieav.com" target="_blank">又粗又大又黑又长的免费视频 </a>| <a href="http://bd0574.com" target="_blank">国产一精品一av一免费爽爽</a>| <a href="http://hbjinmaitang.com" target="_blank">亚洲热妇无码AV在线播放</a>| <a href="http://wusongtv.com" target="_blank">91av免费在线视频</a>| <a href="http://www132126.com" target="_blank">亚洲国产精品成人久久</a>| <a href="http://avdian126.com" target="_blank">久久久久久曰本AV免费免费</a>| <a href="http://3589006.com" target="_blank">2020国产精品亚洲综合网</a>| <a href="http://baocaoluoli.com" target="_blank">国产色爽女小说免费看</a>| <a href="http://66h99.com" target="_blank">中文字幕不卡免费视频</a>| <a href="http://hs969.com" target="_blank">亚洲视频一区二区三区</a>| <a href="http://100357.com" target="_blank">免费看片A级毛片免费看</a>| <a href="http://xuexilo.com" target="_blank">一道本不卡免费视频</a>| <a href="http://323c.com" target="_blank">亚洲综合无码一区二区</a>| <a href="http://zndijgch.com" target="_blank">麻豆国产入口在线观看免费 </a>| <a href="http://sdyzzs.com" target="_blank">亚洲中文字幕久久精品无码VA</a>| <a href="http://www-175345.com" target="_blank">国产精品成人免费综合</a>| <a href="http://5shitou.com" target="_blank">女人隐私秘视频黄www免费</a>| <a href="http://pgyadv.com" target="_blank">亚洲成a人片在线观看播放</a>| <a href="http://kkjk123.com" target="_blank">国产成人啪精品视频免费网</a>| <a href="http://686kp.com" target="_blank">中国在线观看免费的www</a>| <a href="http://jogador1.com" target="_blank">666精品国产精品亚洲</a>| <a href="http://xsjxp.com" target="_blank">国产精品成人无码免费</a>| <a href="http://obtainfo.com" target="_blank">免费人成毛片动漫在线播放</a>| <a href="http://av56cc.com" target="_blank">精品日韩99亚洲的在线发布</a>| <a href="http://www-282555.com" target="_blank">亚洲成人一区二区</a>| <a href="http://gwcyy.com" target="_blank">日韩不卡免费视频</a>| <a href="http://haohaoshuo.com" target="_blank">国产免费播放一区二区</a>| <a href="http://www961dd.com" target="_blank">国产精品亚洲专区在线观看</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>