dom4j通過URL解析xml資料
阿新 • • 發佈:2019-02-05
public static Document getXml(String keyword,String pagenum,String pagesize) throws DocumentException{ Document document=null; SAXReader saxReader = new SAXReader(); document = saxReader.read("http://10.0.4.136/autopic_search/autogetpic.ym?keyword="+keyword+"&pagenum="+pagenum+"&pagesize="+pagesize+""); return document; }
最近在工作中用到了這個方式讀取xml資料 剛拿到這個需求的時候感覺有些麻爪 所以記錄下來以備今後使用
首先上面的方法是用來獲取document物件的 read()方法內參數為url字串 如有需要可以將此字串提取到引數列表中
Document doc = getXml(keyword, pageno, pagesize); Element root =doc.getRootElement(); Document doc = getXml(keyword, pageno, pagesize); Element root =doc.getRootElement(); List<Element> elements = root.elements(); for(int i = 0;i< elements.size();i++){ Element e = elements.get(i); Element picidEl=e.element("picid"); String mpicid=picidEl.getText(); Element picurlEl=e.element("picurl"); String mpicurl=picurlEl.getText(); Element keywordEl=e.element("keyword"); String mkeyword=keywordEl.getText(); Element channelEl=e.element("channel"); String mchannel=channelEl.getText();List<Element> elements = root.elements(); for(int i = 0;i< elements.size();i++){ Element e = elements.get(i); Element picidEl=e.element("picid"); String mpicid=picidEl.getText(); Element picurlEl=e.element("picurl"); String mpicurl=picurlEl.getText(); Element keywordEl=e.element("keyword"); String mkeyword=keywordEl.getText(); Element channelEl=e.element("channel"); String mchannel=channelEl.getText(); } }
這個程式碼片段是用來迭代xml各個元素並獲取元素內的 text 內容的
下面附上xml資料格式
<?xml version="1.0" encoding="UTF-8"?> <data> <news> <picid> <![CDATA[176556578]]> </picid> <picurl> <![CDATA[http://i4.hexunimg.cn/2015-06-08/176556578.jpg]]> </picurl> <keyword> <![CDATA[尋求,歐洲,g7,不買賬,牽制,經濟,安倍,峰會,中國]]> </keyword> <channel> <![CDATA[100]]></channel></news><news><picid><![CDATA[176556401]]> </picid> <picurl> <![CDATA[http://i9.hexunimg.cn/2015-06-08/176556401.jpg]]> </picurl> <keyword> <![CDATA[太極,面對,日本,安保,安倍,違憲,法案,在打,質疑]]> </keyword> <channel> <![CDATA[100]]></channel></news><news><picid><![CDATA[176556398]]> </picid> <picurl> <![CDATA[http://i8.hexunimg.cn/2015-06-08/176556398.jpg]]> </picurl> <keyword> <![CDATA[太極,面對,日本,安保,安倍,違憲,法案,在打,質疑]]> </keyword> <channel> <![CDATA[100]]> </channel> </news> <news> <picid> <![CDATA[176544977]]> </picid> <picurl> <![CDATA[http://i4.hexunimg.cn/2015-06-08/176544977.jpg]]></picurl> <keyword> <![CDATA[烏克蘭,走錯,閱兵式,安倍]]></keyword> <channel><![CDATA[100]]></channel> </news> </data>