您的位置:首页 > 理论基础 > 计算机网络

java http xml java通过http来访问一个xml文件的读取过程

2017-04-06 10:47 567 查看
上代码

package test;

import java.io.IOException;

import java.io.InputStream;

import java.net.URL;

import java.net.URLConnection;

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.NodeList;

import org.xml.sax.SAXException;

public class XmlController {

  public static void main(String arg[]) {

   

    InputStream is = null;

    Document document = null;

    try {

      URL url =

          new URL("http://xxxx?method=getInfo&Id=001");

      URLConnection con = url.openConnection();

      is = con.getInputStream();

      // DOM 解析器

      DocumentBuilderFactory domfac = DocumentBuilderFactory.newInstance();

      // DOM 工厂获得 DOM 解析器

      DocumentBuilder dombuilder = domfac.newDocumentBuilder();

      document = dombuilder.parse(is);

    } catch (SAXException e) {

      e.printStackTrace();

    } catch (ParserConfigurationException e) {

      e.printStackTrace();

    } catch (IOException e) {

      e.printStackTrace();

    }

    // root要素取得

    Element elementRoot = (document).getDocumentElement();

    Element elementCount = (Element) elementRoot.getElementsByTagName("Vulinfo").item(0);

    System.out.println(elementCount.getNodeName());

    System.out.println(elementCount.getElementsByTagName("ID").item(0).getNodeName());

    System.out.println(

        elementCount.getElementsByTagName("ID").item(0).getFirstChild().getNodeValue());

    Element Data = (Element) elementCount.getElementsByTagName("Data").item(0);

    

    String title =

        eleVulinfoData.getElementsByTagName("Title").item(0).getFirstChild().getNodeValue();

    System.out.println(title);

   

    Element DescriptionData =

        (Element) eleVulinfoData.getElementsByTagName("Description").item(0);

    String Description = VulinfoDescriptionData.getElementsByTagName("Overview").item(0)

        .getFirstChild().getNodeValue();

    System.out.println(Description);

   

    Element AffectedData = (Element) eleVulinfoData.getElementsByTagName("Affected").item(0);

    Element AffectedItem = (Element) AffectedData.getElementsByTagName("AffectedItem").item(0);

    String AffectedData_Name =

        AffectedItem.getElementsByTagName("Name").item(0).getFirstChild().getNodeValue();

    System.out.println(AffectedData_Name);

    String ProductName =

        AffectedItem.getElementsByTagName("ProductName").item(0).getFirstChild().getNodeValue();

    System.out.println(ProductName);

   

    NodeList VersionNumber = elementCount.getElementsByTagName("VersionNumber");

    System.out.println(VersionNumber.getLength());

    for (int i = 0; i < VersionNumber.getLength(); i++) {

      Element elementItemName = (Element) VersionNumber.item(i);

      String itemName = elementItemName.getFirstChild().getNodeValue();

      System.out.println(itemName);

    }

 

    // History

    Element HistoryData = (Element) eleVulinfoData.getElementsByTagName("History").item(0);

    Element HistoryItem = (Element) HistoryData.getElementsByTagName("HistoryItem").item(0);

    String Description = null;

    System.out.println(HistoryItem.getElementsByTagName("Description").getLength());

    if (null != HistoryItem.getElementsByTagName("Description")

        && HistoryItem.getElementsByTagName("Description").getLength() != 0

        && null != HistoryItem.getElementsByTagName("Description").item(0).getFirstChild()) {

      Description =

          HistoryItem.getElementsByTagName("Description").item(0).getFirstChild().getNodeValue();

    }

    System.out.println(Description);

  }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: