从网站获取XML文件数据

时间:2010-11-19 21:43:33

标签: android xml parsing web

只是想知道什么是获取以下数据并解析它的最佳方式。

以下是我想要提取的一些数据的示例。

<?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数据的例子,但它们都是基于if语句的,而且很多硬编码是否有更通用的方法来做到这一点?

2 个答案:

答案 0 :(得分:1)

解析器非常硬编码,这就是它们的工作方式。您只能检查某个标签是否与某种模式匹配,然后决定该怎么做。特别是像你这样的简单文件绝对没问题。

如果要解析多种类型的文档,我建议您阅读此SO answer

答案 1 :(得分:0)

“解析”,从字面上理解,很容易。解析是获取文本字符串(在您的情况下,来自http响应)并将其转换为数据结构(如XML文档树)的过程。该过程由XML解析器为您处理,您通常不必担心它。

您面临的部分是如何从解析的XML文档中查询数据,对吧?最简单的方法在很大程度上取决于您需要对数据执行的操作。但是XPath是一种选择数据的好方法,没有大量详细的if语句和get-child函数调用。

另见this question on using XPath in Android