我的 Java 项目的包中有.xml
文件,其中包含以下格式的数据...
<?xml version="1.0"?>
<postcodes>
<entry postcode='AB1 0AA' latitude='7.101478' longitude='2.242852' />
</postcodes>
我目前已将startElement()
我的自定义设置覆盖DefaultHandler
为以下内容;
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
if (attributes.getValue("postcode") == "AB43 8TZ"){
System.out.println("The postcode 'AB43 8TZ', has a latitude of "+attributes.getValue("latitude")+" and a longitude of "+attributes.getValue("longitude"));
}
}
我知道代码在此方法之外工作,因为我之前通过打印出每个元素的所有属性对其进行了测试,并且效果很好。然而,现在它什么也不做,就好像它从未找到那个邮政编码值一样。(我知道它在那里,因为它是来自 XML 源的复制粘贴作业)
额外细节;很抱歉最初遗漏了重要的细节。其中一些文件有多达 50k 行,因此如果可能的话,将它们存储在内存中是不可以的。因此,我正在使用 SAX。作为一方面,我使用“来自我的项目中的这些文件”这个词,因为我也找不到如何从同一个项目中而不是从绝对目录中引用文件。