[英]Null pointer exception on existing tag XML Java
我在这里使用XML文件
我有以下代码:
Document doc = (Document) docBuilder.parse(new URL("http://api.irishrail.ie/realtime/realtime.asmx/getStationDataByNameXML?StationDesc=" + dstation).openStream());
doc.getDocumentElement().normalize();
NodeList trains = doc.getElementsByTagName("objStationData");
for(int i = 0; i<trains.getLength(); i++){
if(trains.item(i).getAttributes().getNamedItem("Direction").getTextContent().trim().equals("Northbound")){
System.out.println(trains.item(i).getAttributes().getNamedItem("Destination").getTextContent().trim());
}
}
我在if语句上得到一个Null Pointer异常。 为什么是这样? 如上链接所示,这些对象存在于XML文件中。
这样的事情应该起作用。 由于您知道XML的结构并且正在调用getElementsByTagName
,因此知道可以安全地将节点从NodeList
为Element
对象。
Document doc = (Document) docBuilder.parse(new URL("http://api.irishrail.ie/realtime/realtime.asmx/getStationDataByNameXML?StationDesc=" + dstation).openStream());
doc.getDocumentElement().normalize();
NodeList trains = doc.getElementsByTagName("objStationData");
for(int i = 0; i<trains.getLength(); i++){
Element objStationDataElement = (Element)trains.item(i);
Element directionElement = objStationDataElement.getElementsByTagName("Direction").item(0);
if(directionElement.getTextContent().trim().equals("Northbound")){
Element destinationElement = (Element)objStationDataElement.getElementsByTagName("Destination").item(0);
System.out.println(destinationElement.getTextContent().trim());
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.