上代碼
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);
}
}