一個XML文件,我有一個包含下列格式的數據我的Java項目中的包內.xml
文件...Java的SAX搜索數據
<?xml version="1.0"?>
<postcodes>
<entry postcode='AB1 0AA' latitude='7.101478' longitude='2.242852' />
</postcodes>
我現在已經在我的自定義DefaultHandler
overrided的startElement()
到下列;
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。作爲一方,我在項目中使用這些文件中的「」,因爲我也找不到如何從同一個項目中引用文件,而不是從絕對目錄中引用文件。
使用XML解析器。 –
那麼,我已經研究了DOM和JAXP。但是,兩者似乎都希望將XML的詳細信息存儲在內存中,在我的情況下這是一個可怕的想法,因爲其中一些XML的長度爲4萬行或更多。 –
編輯問題以更好地適應SO上首選的問題風格。請重新打開。 –