2010-11-19 244 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