我需要解析來自兩個源的xml文件。這兩個xml文件都包含相同的內容,但每個源文件都使用它們自己的模式。這意味着我想從xml文件中提取的值將存儲在不同的元素名稱中,具體取決於文件的來源。解析具有相同內容但基於不同模式的xml文件的最佳實踐
這裏是一個例子 - 假設我只對產品的「名稱」感興趣。
Source 1
-------------------------
<item>
<itemname>Camera</itemname>
<itemprice>20</itemprice>
</item>
Source 2
-------------------------
<productList>
<productName>Camera</productname>
<ProductPrice>20</productprice>
</productList>
要分析上面的我都知道XML文件的來源,然後要麼做一個
getElementsByTagName("itemname");
或
getElementsByTagName("productName");
我原來的計劃是有一個不同的解析器爲每個源的XML文件,但我想,也許我可以寫一個通用的解析器,如果我指定我需要的元素的路徑。這樣做的好處是我可以處理來自任何源的任何xml文件,而無需修改解析器。
我想要做的是將元素的路徑存儲到屬性文件。即
source1.name="itemname"
source2.name=productName
泛型解析器然後將根據我提供的名稱檢索元素。這可能會工作,但我想如果我對多個元素感興趣,通過屬性文件來維護它可能會很麻煩。
有沒有更好的方法來解決上述問題?請注意,我限制的一個限制是目標平臺是JDK 1.4,所以xpath等不起作用。
沒有多字元素名稱這樣的事情。你提供的xml是無效的。 – 2011-02-26 21:03:24
好吧,這只是一個例子... – ziggy 2011-02-26 21:29:58
最好使用一些有效的例子。否則,他們會混淆人羣並分散眼前的問題。 – 2011-02-26 21:59:43