<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    配置開(kāi)發(fā)包

    dom4j-1.6.1.jar

    jaxen-1.1-beta-6.jarXPath必備)

     

    取某一節(jié)點(diǎn)

    Element root = (Element) document.selectSingleNode("http://root");

     

    取某一節(jié)點(diǎn)的屬性

    Attribute attribute = (Attribute) document.selectSingleNode("http://root/cell/@value");

     

    使用經(jīng)驗(yàn)

    我們?cè)谧鱿到y(tǒng)間交互時(shí),通常通過(guò)自定義的xml文件進(jìn)行數(shù)據(jù)交換。例如:系統(tǒng)A需要向系統(tǒng)B傳輸一個(gè)xml字串的條件如下:

    <?xml version="1.0" encoding="gb2312"?>

    <root systemid="Darenkou" userid="admin" default="DA" icon="0000">

           <cell value=""/>

    </root>

    系統(tǒng)A只需填充cell節(jié)點(diǎn)的value屬性值,我的建議是將這段xml寫(xiě)成本地文件,每次傳輸時(shí)首先讀取xml文件,再置cell節(jié)點(diǎn)的value屬性值,然后將xml對(duì)象轉(zhuǎn)變成字串傳給系統(tǒng)B。這樣的優(yōu)點(diǎn)是:一般systemid="Darenkou" userid="admin" default="DA" icon="0000" 是傳輸參數(shù),當(dāng)有所變動(dòng)時(shí)只需修改本地文件即可。

     

    詳細(xì)例程

    test.xml

    <?xml version="1.0" encoding="gb2312"?>

    <root id="TK12" name="管理員" value=""/>

     

    XmlTest.java

    import java.io.File;

    import java.io.IOException;

    import java.io.StringWriter;

    import java.io.UnsupportedEncodingException;

    import java.util.HashMap;

    import java.util.Iterator;

     

    import org.dom4j.Document;

    import org.dom4j.DocumentException;

    import org.dom4j.Element;

    import org.dom4j.io.OutputFormat;

    import org.dom4j.io.SAXReader;

    import org.dom4j.io.XMLWriter;

     

    public class XmlTest {

           public static String generateXml(HashMap map) {

                  String strXml = null;

     

                  if (map != null) {

     

                         SAXReader reader = new SAXReader();

                         Document document = null;

     

                         try {

                                document = reader.read(new File("D:/test.xml"));

                         } catch (DocumentException e) {

                                e.printStackTrace();

     

                         }

     

                         Element root = (Element) document.selectSingleNode("http://root");

                         root.attribute("value").setValue("分布");

     

                         Iterator iter = map.keySet().iterator();

                         while (iter.hasNext()) {

                                String key = (String) iter.next();

                                String value = (String) map.get(key);

     

                                Element element = root.addElement("cell").addAttribute("value",

                                              key);

                                element.addElement("element").addAttribute("type", "數(shù)值")

                                              .addAttribute("name", "人數(shù)").addText(value);

     

                         }

     

                         strXml = encodeXml(document, "gb2312");

                  }

     

                  return strXml;

           }

     

           private static String encodeXml(Document document, String aEncode) {

                  // 進(jìn)行編碼轉(zhuǎn)換

                  StringWriter sw = new StringWriter();

     

                  OutputFormat format = OutputFormat.createPrettyPrint();

                  format.setEncoding(aEncode);

     

                  try {

                         XMLWriter writer = new XMLWriter(format);

                         writer.setWriter(sw);

                         writer.write(document);

                  } catch (UnsupportedEncodingException e) {

                         e.printStackTrace();

                  } catch (IOException e) {

                         e.printStackTrace();

                  }

     

                  return sw.toString();

           }

     

           public static void main(String[] args) {

                  HashMap map = new HashMap();

                  map.put("上海", "200");

                  map.put("北京", "300");

                  map.put("天津", "300");

     

                  System.out.println(generateXml(map));

     

           }

    }

     

    posted on 2006-03-08 21:32 野草 閱讀(5444) 評(píng)論(4)  編輯  收藏 所屬分類(lèi): xml

    評(píng)論:
    # re: 使用dom4j和XPath 2006-03-08 21:54 | tt
    不錯(cuò),繼續(xù)學(xué)習(xí)<a href="www.qq.com">qq</a>  回復(fù)  更多評(píng)論
      
    # re: 使用dom4j和XPath[未登錄](méi) 2007-06-01 11:51 | domy
    很基礎(chǔ),不過(guò)很重要的,謝謝  回復(fù)  更多評(píng)論
      
    # re: 使用dom4j和XPath[未登錄](méi) 2009-03-31 20:55 | yy
    XPath在哪??  回復(fù)  更多評(píng)論
      
    # re: 使用dom4j和XPath 2009-05-15 19:23 | 地方
    感謝分享 我不能用Xpath 原來(lái)是沒(méi)有導(dǎo)入jaxen-1.1-beta-6.jar這個(gè)包  回復(fù)  更多評(píng)論
      

    只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲精品中文字幕无乱码| 热久久这里是精品6免费观看| 亚洲AV日韩精品久久久久久久| 四虎影视永久免费观看网址| 18女人毛片水真多免费| 国产精品视频全国免费观看| 亚洲国产成人综合精品| 亚洲成a人片在线观看播放| 亚洲日产韩国一二三四区| 午夜亚洲福利在线老司机| 无码一区二区三区免费视频| 暖暖日本免费中文字幕| 国产免费伦精品一区二区三区| 亚洲国产成人手机在线观看| 亚洲国产av美女网站| 亚洲A∨无码无在线观看| 亚洲中文字幕无码爆乳av中文| 国产性生交xxxxx免费| 成年美女黄网站18禁免费| 在线观看免费人成视频色9| 51视频精品全部免费最新| 久久免费观看国产精品88av| a级毛片免费全部播放无码| 中文字幕永久免费| 成在人线av无码免费高潮水| 国产福利免费视频| 国产精品一区二区三区免费| caoporm碰最新免费公开视频| 免费在线人人电影网| 美女黄频a美女大全免费皮| 美女黄网站人色视频免费| 免费人成大片在线观看播放| 羞羞漫画登录页面免费| 一级毛片成人免费看a| 一级毛片视频免费观看| 国产免费人成视频在线播放播| 又大又硬又粗又黄的视频免费看| 免费激情网站国产高清第一页 | 中文字幕免费不卡二区| 久久免费精品一区二区| 久操视频在线免费观看|