利用.NET框架的XmlReader对象推动XML进步

ZDNet软件频道 时间:2005-01-31 作者:Builder.com |  我要评论()
本文关键词:xml
微软引入一种第三方的XML分析模式,叫做拉模型(pull mode)。这个模型试图提供一种对XML数据的非缓冲的、只进和只读的访问。
本文译自Builder.com,未经许可请勿转载

摘要:
微软引入一种第三方的xml分析模式,叫做拉模型(pull mode)。这个模型试图提供一种对xml数据的非缓冲的、只进和只读的访问。

 

在过去,分析xml文件只有两种方式——SAX(用于xml的简单API)和DOM (文档对象模型)。第一种方式以顺序的方式读取xml文件,并在它发现像elementsattributes这样的不同的xml组件时告知应用程序;而第二种方法会创建一个表示xml文档里数据的树,然后提供各种方法在这些数据里导航。

由于这两种方法中的每一种都自己的优势和劣势,所以微软用其.NET框架引入了一个叫做“拉模型”的第三方模式,它会试图提供一种对xml数据的非缓冲的、只进和只读的访问。以外行的话说,这意味着你能够以顺序访问xml文件里的信息(就像SAX一样),并另外选择在运行期间跳过特定的元素(elements)及其内容(就像DOM一样)。xmlReader()这个新的对象被创建用来完成这一任务。

处理xml

要了解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里的脚本来完成。


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134