我正在尝试从 XML 文件获取数据并在处理中使用该数据。当我这样做时,我得到了 NPE,但我不太明白我错在哪里。 XML 有多个层,我必须从这个“子项”获取数据:
http://i62.tinypic.com/2mb90g.png
我的代码如下所示:
XML xml;
void setup(){
xml = loadXML("parker.xml");
XML[] children = xml.getChildren("kml");
XML[] Folder=children[0].getChildren("Folder");
XML[] Placemark=Folder[1].getChildren("Placemark");
XML[] Polygon=Placemark[2].getChildren("Polygon");
XML[] outerBoundaryIs=Polygon[3].getChildren("outerBoundaryIs");
XML[] LinearRing=outerBoundaryIs[4].getChildren("LinearRing");
for (int i = 0; i < LinearRing.length; i++) {
float coordinates = children[i].getFloat("coordinates");
println(coordinates);
}
}
最好的克里斯
堆栈跟踪:
[Fatal Error] :1:1: Content is not allowed in prolog. org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog. at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:257) at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:347) at processing.data.XML.(XML.java:187) at processing.core.PApplet.loadXML(PApplet.java:6310) at processing.core.PApplet.loadXML(PApplet.java:6300) at XMLtryout.setup(XMLtryout.java:21) at processing.core.PApplet.handleDraw(PApplet.java:2359) at processing.core.PGraphicsJava2D.requestDraw(PGraphicsJava2D.java:240) at processing.core.PApplet.run(PApplet.java:2254) at java.lang.Thread.run(Thread.java:744)
XML 文件:
最佳答案
此错误可能是由于您的 xml 文件顶部缺少此内容而引起的
<?xml version="1.0" encoding="utf-8"?>
或者文件开头有一些不可打印的垃圾。
关于java - 将 XML 文件导入 Java 处理时出现 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23339799/