2010-11-19 467 views
1

想知道抓取以下數據並解析它的最佳方法是什麼?從網站抓取XML文件數據

下面是我想要提取的一些數據的示例。

<?xml version="1.0" encoding="UTF-8" ?> 
<eveapi version="2"> 
    <currentTime>2010-11-19 19:23:44</currentTime> 
    <result> 
     <rowset name="characters" key="characterID" columns="name,characterID,corporationName,corporationID"> 
      <row name="jennyhills" characterID="90052591" corporationName="Imperial Academy" corporationID="1000166" /> 
     </rowset> 
    </result> 
    <cachedUntil>2010-11-19 20:20:44</cachedUntil> 
</eveapi> 

我已經看到了如何解析XML數據一些例子,但如果聲明它們都是基於這就是很多硬編碼的是有沒有更通用的方法來做到這一點?

+0

http://thedailywtf.com/Articles/Soft_Coding.aspx – dsolimano 2010-11-19 22:12:08

回答

0

「解析」,從字面上理解,很容易。解析是將文本字符串(在你的情況下,來自http響應)並將其轉換爲數據結構(如XML文檔樹)的過程。該過程由XML解析器爲您處理,您通常不需要擔心它。

你面對的部分是如何從分析的XML文檔中查詢數據,對嗎?最簡單的方法很大程度上取決於您需要如何處理數據。但XPath是一種很好的方式來選擇數據,如果沒有大量詳細的if語句和get-child函數調用。請參閱this question on using XPath in Android

1

解析器是相當硬編碼,這是他們的工作方式。您只能檢查某個標籤是否與特定模式相匹配,然後決定要做什麼。特別是對於像你這樣的簡單文件來說,這絕對沒有問題。

如果您有多種類型的文檔需要解析,那麼我建議您閱讀這個SO answer