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

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

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

    數據加載中……
    JAVA XML 解析之五-綜合小例子
    2008年4月21日  Edited By DingDangXiaoMa
    xml文件讀取,簡單例子。讀取NO及ADDR
    data_10k.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <RESULT>
        
    <VALUE>
            
    <NO>A1234</NO>
            
    <ADDR>省XX縣XX鎮XX路X段XX號</ADDR>
        
    </VALUE>
        
    <VALUE>
            
    <NO>B1234</NO>
            
    <ADDR>省XX市XX鄉XX村XX組</ADDR>
        
    </VALUE>
    </RESULT>
    DOM方式:
    import java.io.File;
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import org.w3c.dom.Document;
    import org.w3c.dom.NodeList;
    public class WDom {
        
    public static void main(String arge[]){
        
    try{
        File f
    =new File("data_10k.xml");
        DocumentBuilderFactory factory
    =DocumentBuilderFactory.newInstance();
        DocumentBuilder builder
    =factory.newDocumentBuilder();
        Document doc 
    = builder.parse(f);
        NodeList nl 
    = doc.getElementsByTagName("VALUE");
        
    for (int i=0;i<nl.getLength();i++){
        System.out.print(
    "車牌號碼:" + doc.getElementsByTagName("NO").item(i).getFirstChild().getNodeValue());
        System.out.println(
    "車主地址:" + doc.getElementsByTagName("ADDR").item(i).getFirstChild().getNodeValue());
         }
        }
    catch(Exception e){
        e.printStackTrace();
        }
        }
    }
    JDOM:
    import java.io.File;
    import java.util.List;
    import org.jdom.Document;
    import org.jdom.Element;
    import org.jdom.input.SAXBuilder;
    public class WJDom {
        
    public static void main(String arge[]) {
        
    try {
        SAXBuilder builder 
    = new SAXBuilder();
        Document doc 
    = builder.build(new File("data_10k.xml"));
        Element foo 
    = doc.getRootElement();
        List allChildren 
    = foo.getChildren();
        
    for(int i=0;i<allChildren.size();i++) {
            System.out.print(
    "車牌號碼:" + ((Element)allChildren.get(i)).getChild("NO").getText());
            System.out.println(
    "車主地址:" + ((Element)allChildren.get(i)).getChild("ADDR").getText());
        }
        }
    catch(Exception e) {
        e.printStackTrace();
        }
        }
    }
    SAX:(這個更不知道是什么意思了?!
    import javax.xml.parsers.SAXParser;
    import javax.xml.parsers.SAXParserFactory;
    import org.xml.sax.Attributes;
    import org.xml.sax.InputSource;
    import org.xml.sax.SAXException;
    import org.xml.sax.helpers.DefaultHandler;
    public class WSAX extends DefaultHandler {
        java.util.Stack tags = new java.util.Stack();

        
    public WSAX() {
            
    super();
        }
        
    public static void main(String args[]) {
            
    long lasting = System.currentTimeMillis();
            
    try {
            SAXParserFactory sf 
    = SAXParserFactory.newInstance();
            SAXParser sp 
    = sf.newSAXParser();
            WSAX reader 
    = new WSAX();
            sp.parse(
    new InputSource("data_10k.xml"), reader);
            } 
    catch (Exception e) {
            e.printStackTrace();
            }
            System.out.println(
    "運行時間:" + (System.currentTimeMillis() - lasting) + "毫秒");
        }
        
    public void characters(char ch[], int start, int length) throws SAXException {
            String tag 
    = (String) tags.peek();
            
    if (tag.equals("NO")) {
            System.out.print(
    "車牌號碼:" + new String(ch, start, length).trim());
            }
            
    if (tag.equals("ADDR")) {
                System.out.println(
    "地址:" + new String(ch, start, length).trim());
            }
        }
        
    public void startElement(String uri,String localName,String qName,Attributes attrs) {
            tags.push(qName);
        }
        }
    SAX的方式運行,會有問題,輸出的結果。ADDR,會有三行,這是為什么呢?

    DOM4j:
    import java.io.File;
    import java.util.Iterator;
    import org.dom4j.Document;
    import org.dom4j.Element;
    import org.dom4j.io.SAXReader;
    public class WDOM4j {

        
    public static void main(String arge[]) {
        
    long lasting = System.currentTimeMillis();
        
    try {
        File f 
    = new File("data_10k.xml");
        SAXReader reader 
    = new SAXReader();
        Document doc 
    = reader.read(f);
        Element root 
    = doc.getRootElement();
        Element foo;
        
    for (Iterator i = root.elementIterator("VALUE"); i.hasNext();) {
        foo 
    = (Element) i.next();
        System.out.print(
    "車牌號碼:" + foo.elementText("NO"));
        System.out.println(
    "車主地址:" + foo.elementText("ADDR"));
        }
        } 
    catch (Exception e) {
        e.printStackTrace();
        }
        }
    }

    這幾種方法的比較:http://java.chinaitlab.com/XMLBeans/717370.html
    DOM,還是最基礎的操作。另外,DOM4j,在現在的java框架中也有應用。
    好了就到這里,就是簡單的綜合了。有機會再寫寫例子吧。

    posted on 2008-04-21 18:02 叮當小馬 閱讀(223) 評論(0)  編輯  收藏 所屬分類: XML

    主站蜘蛛池模板: 十八禁视频在线观看免费无码无遮挡骂过 | 免费观看一区二区三区| 免费日韩在线视频| 最新亚洲人成无码网站| 日本免费v片一二三区| 中文无码亚洲精品字幕| 啦啦啦www免费视频| 亚洲av日韩av永久在线观看| 免费又黄又爽又猛的毛片| 免费高清A级毛片在线播放| 亚洲精品国产V片在线观看| 久久av免费天堂小草播放| 亚洲人JIZZ日本人| 久久午夜夜伦鲁鲁片免费无码| 亚洲色图.com| 最近中文字幕无吗免费高清 | 牛牛在线精品观看免费正| 亚洲国产成人乱码精品女人久久久不卡 | 三年片免费观看大全国语| 亚洲小视频在线观看| 四虎永久在线精品免费观看视频| 亚洲jjzzjjzz在线观看| 青青青国产免费一夜七次郎| 美女视频黄a视频全免费网站色| 亚洲午夜无码久久久久| 免费无码一区二区三区| 亚洲人成网站在线播放2019| 亚洲成网777777国产精品| 色www永久免费网站| 亚洲国产夜色在线观看| 四虎影在线永久免费观看| 特级做A爰片毛片免费看无码| 久久精品国产亚洲AV电影| 妞干网在线免费视频| 国产免费人成视频尤勿视频| 亚洲精品成人图区| 全部免费毛片在线| 久久精品无码专区免费青青| 欧美日韩亚洲精品| 亚洲天天在线日亚洲洲精| 国产麻豆剧传媒精品国产免费|