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

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

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

    Programmer

    追逐夢想的人
    隨筆 - 6, 文章 - 0, 評論 - 5, 引用 - 0
    數(shù)據(jù)加載中……

    java學(xué)習(xí)筆記(xml解析)

    最近學(xué)習(xí)xml,把學(xué)習(xí)的代碼發(fā)上來   希望對新手有用
    這是note.xml
    <?xml version="1.0" encoding="gb2312" ?> 
    <notes>
    <note date="2007-4-12">
    <from>小紅</from> 
    <to>小林</to> 
    <message>周末一起去吃火鍋呀</message> 
    </note>
    </notes>

    這是dom解析xml代碼
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.io.InputStream;

    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.parsers.ParserConfigurationException;

    import org.w3c.dom.Document;
    import org.w3c.dom.Element;
    import org.w3c.dom.Node;
    import org.w3c.dom.NodeList;
    import org.xml.sax.SAXException;


    class  DomXMLTest
    {
        
    public static void main(String[] args)
        {   
            
    try{
             
    //(1)得到DOM解析器的工廠實例
            DocumentBuilderFactory factory =DocumentBuilderFactory.newInstance();     
              
    //(2)從DOM工廠獲得DOM解析器
            DocumentBuilder  builder=factory.newDocumentBuilder(); 
            File f
    =new File("note.xml");
             
    //(3)把要解析的XML文檔轉(zhuǎn)化為輸入流,以便DOM解析器解析它
            InputStream  is=new FileInputStream(f);  
            
    //(4)解析XML文檔的輸入流,得到一個Document
            Document doc=builder.parse(is);    
            
    //(5)得到XML文檔的根節(jié)點
            Element  root=doc.getDocumentElement(); 
             
    //(6)得到節(jié)點的子節(jié)點
            NodeList  notes=root.getChildNodes();   

              
    for(int i=0;i<notes.getLength();i++)
              {
                   Node note
    =notes.item(i);
                
    if(note.getNodeType()==Node.ELEMENT_NODE)
                    {  
                        
    //(7)取得節(jié)點的屬性值
                        String date =note.getAttributes().getNamedItem("date").getNodeValue(); 
                        System.out.println(date);
                        
    // (8)輪循子節(jié)點
                        for(Node node=note.getFirstChild();node!=null;node=node.getNextSibling()) 
                             {
                                    
    if(node.getNodeType()==Node.ELEMENT_NODE)
                                         {
                                                
    if(node.getNodeName().equals("from"))
                                                {
                                                     String from
    =node.getFirstChild().getNodeValue();
                                                     System.out.println(from);
                                                 }
                                                
    if(node.getNodeName().equals("to"))
                                                 {
                                                      String to
    =node.getFirstChild().getNodeValue();
                                                       System.out.println(to);
                                                 }
                                                 
    if(node.getNodeName().equals("message"))
                                                 {
                                                       String message
    =node.getFirstChild().getNodeValue();
                                                       System.out.println(message);
                                                  }
                                          }
                               }
                      }

            }
            }
            
    catch(ParserConfigurationException e)
            {
                e.printStackTrace();
            }
            
    catch(SAXException e)
            {
                e.printStackTrace();
            }
            
    catch(IOException e)
            {
                e.printStackTrace();
            }
         }                                  
    }

    還有 出現(xiàn) 下面的錯誤  是xml的格式不對 ,我就應(yīng)為在 <?xml 前面多個空格 就找了好幾天的錯誤
    特別感謝那些幫我找問題的高手,用范偉的話說  謝謝啊
    The processing instruction target matching "[xX][mM][lL]" is not allowed.




    posted on 2007-04-13 18:08 霜の哀傷 閱讀(439) 評論(1)  編輯  收藏

    評論

    # re: java學(xué)習(xí)筆記(xml解析)  回復(fù)  更多評論   

    ri , 找到問題方法 也不共享一下 干
    2010-06-11 17:39 | dv

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 免费人妻精品一区二区三区| 亚洲一区二区三区写真| fc2成年免费共享视频18| 免费h黄肉动漫在线观看| 午夜亚洲乱码伦小说区69堂| 免费无码又爽又高潮视频| 亚洲欧洲专线一区| 国产成人无码区免费A∨视频网站 国产成人涩涩涩视频在线观看免费 | 亚洲日韩一区精品射精| 永久免费毛片在线播放| 亚洲欧美日韩综合俺去了| 国产成人涩涩涩视频在线观看免费| 亚洲AV成人精品一区二区三区 | 伊人久久亚洲综合| 免费国产成人18在线观看| 亚洲成年人在线观看| 国产在线jyzzjyzz免费麻豆| 亚洲天堂2016| 四虎在线播放免费永久视频| 一个人看www免费高清字幕| 亚洲AV无码乱码在线观看裸奔| 日本高清高色视频免费| 亚洲综合视频在线观看| 免费精品一区二区三区在线观看| 黄色一级毛片免费看| 国产V亚洲V天堂无码| 国内精品乱码卡1卡2卡3免费| 久久精品国产亚洲AV未满十八| 国产精品亚洲片在线| 最近高清中文字幕无吗免费看| 国产精品亚洲专区在线播放| 亚洲人成人一区二区三区| 久久WWW色情成人免费观看| 一级毛片a免费播放王色电影| 亚洲AV日韩精品久久久久| 成人在线免费观看| 青青操免费在线视频| 亚洲日韩中文字幕一区| 亚洲无码在线播放| 永久免费AV无码网站在线观看| 国产在线观看免费视频软件 |