摘要:
微软引入一种第三方的xml分析模式,叫做拉模型(pull mode)。这个模型试图提供一种对xml数据的非缓冲的、只进和只读的访问。
在过去,分析xml文件只有两种方式——SAX(用于xml的简单API)和DOM (文档对象模型)。第一种方式以顺序的方式读取xml文件,并在它发现像elements和attributes这样的不同的xml组件时告知应用程序;而第二种方法会创建一个表示xml文档里数据的树,然后提供各种方法在这些数据里导航。
由于这两种方法中的每一种都自己的优势和劣势,所以微软用其.NET框架引入了一个叫做“拉模型”的第三方模式,它会试图提供一种对xml数据的非缓冲的、只进和只读的访问。以外行的话说,这意味着你能够以顺序访问xml文件里的信息(就像SAX一样),并另外选择在运行期间跳过特定的元素(elements)及其内容(就像DOM一样)。xmlReader()这个新的对象被创建用来完成这一任务。
要了解xmlReader()是如何工作的,就要创建下面的temperatures.xml文件。
<?xml version="1.0" encoding="utf-8" ?>
<temperature unit="Celsius">
<city name="New York">
<month name="January">3.9</month>
<month name="February">5.6</month>
<month name="March">15.6</month>
<month name="April">21.7</month>
<month name="May">26.1</month>
<month name="June">29.4</month>
<month name="July">28.3</month>
<month name="August">24.4</month>
<month name="September">18.3</month>
<month name="October">12.2</month>
<month name="November">6.7</month>
<month name="December">10.0</month>
</city>
</temperature>
没有什么有趣的东西:只不过是纽约市一年十二个月温度的列表。这个任务是要计算这些温度每年的平均值,而这由列表A里的脚本来完成。