解析在线xml

  • Post author:
  • Post category:其他


private List<Map<String, String>> logicsidi(String url) {



List<Map<String, String>> list = new ArrayList<Map<String, String>>();



try {



Document doco;



if(“http://www.cquae.com/unpub/pros.xml”.equals(url) || “http://www.cbex.com.cn/unpub/bj.xml”.equals(url)){



DocumentBuilderFactory dbfo = DocumentBuilderFactory.newInstance();



dbfo.setCoalescing(true);



DocumentBuilder dbyo = dbfo.newDocumentBuilder();



doco = dbyo.parse(url);



}else{



StringBuffer result = new StringBuffer(“”);



URL connect = new URL(url.toString());



URLConnection connection = connect.openConnection();



connection.setDoOutput(true);



connection.setRequestProperty(“User-Agent”, “Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)”);



BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), “UTF-8”));



connection.getInputStream();



String line;



while ((line = reader.readLine()) != null) {



result.append(line);



result.append(“\r\n”);



}



StringReader sr = new StringReader(result.toString());



InputSource is = new InputSource(sr);



DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();



DocumentBuilder builder = factory.newDocumentBuilder();



doco = builder.parse(is);



line = null;



sr.close();



}




NodeList nlo = doco.getElementsByTagName(“pubPrice”);



NodeList nllo = doco.getElementsByTagName(“title”);



NodeList n23o = doco.getElementsByTagName(“link”);



NodeList pubDate = doco.getElementsByTagName(“pubDate”);



NodeList proNo = doco.getElementsByTagName(“proNo”);



int numgp = 0;



if ((numgp++) < 3) {



if (nlo.getLength() > 0) {



for (int j = 0; j < nlo.getLength(); j++) {



String str1 = nlo.item(j).getFirstChild().getNodeValue();






Double str22 = 0.0;



String s = null;



try {



str22 = Double.valueOf(str1);



DecimalFormat format = new DecimalFormat(“0.000000”);



s = format.format(str22);



} catch (NumberFormatException e) {



e.printStackTrace();



s = str1;



}






int xo = j + 1;



String str2 = n23o.item(xo).getFirstChild().getNodeValue();



int xy = j + 1;



String str3 = nllo.item(xy).getFirstChild().getNodeValue();



String sj = pubDate.item(j).getFirstChild().getNodeValue();



String bh = proNo.item(j).getFirstChild().getNodeValue();



Map<String, String> map = new HashMap<String, String>();



map.put(“xmbh”, bh);



map.put(“name”, str3);



map.put(“href”, str2);



map.put(“price”, s);



map.put(“date”, sj);



list.add(map);



}



}



}






} catch (MalformedURLException e) {



e.printStackTrace();



return null;



} catch (UnsupportedEncodingException e) {



e.printStackTrace();



return null;



} catch (DOMException e) {



e.printStackTrace();



return null;



} catch (IOException e) {



e.printStackTrace();



return null;



} catch (ParserConfigurationException e) {



e.printStackTrace();



return null;



} catch (SAXException e) {



e.printStackTrace();



return null;



}



return list;



}



版权声明:本文为silentmuh原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。