只是想知道什么是获取以下数据并解析它的最佳方式。
以下是我想要提取的一些数据的示例。
<?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语句的,而且很多硬编码是否有更通用的方法来做到这一点?
答案 0 :(得分:1)
解析器非常硬编码,这就是它们的工作方式。您只能检查某个标签是否与某种模式匹配,然后决定该怎么做。特别是像你这样的简单文件绝对没问题。
如果要解析多种类型的文档,我建议您阅读此SO answer。
答案 1 :(得分:0)
“解析”,从字面上理解,很容易。解析是获取文本字符串(在您的情况下,来自http响应)并将其转换为数据结构(如XML文档树)的过程。该过程由XML解析器为您处理,您通常不必担心它。
您面临的部分是如何从解析的XML文档中查询数据,对吧?最简单的方法在很大程度上取决于您需要对数据执行的操作。但是XPath是一种选择数据的好方法,没有大量详细的if语句和get-child函数调用。