发布新日志

  • 学习C#高级编程之XML

    2008-01-22 09:23:42

    处理XML

        System.Xml命名空间

     

    类名

    说明

    XMLReader

    抽象类,提供快速的没有缓存的XML数据,只向前的。

    XMLWriter

    抽象类,以流或文件的方式提供快速的,没有缓存的XML数据

    XMLTextReader

    扩展XMLReader, 提供访问XML数据的只读向前流。

    XMLTextWriter

    扩展XMLWriter, 快速生成只向前的XML 流。

    XMLNode

    抽象类,表示XML 文档的一个结点

    XMLDocument

    扩展XMLNode, 给出XML文档在内存中的树形表示。

    XMLDataDocument

    扩展XMLDataDocument, 可以从XML数据中加载文档, 也可以从ADO.NET中加载文档,允许放在一个视图中。

    XMLResolver

    抽象类, 分析基于XML的外部资源,例如DTD和模式引用,也可以用于处理<xsl:include><xls:import>

    XMLUrlResolver

    扩展XMLUrlResolver, URL解析外部资源。

     

        .NET中使用MSXML

    using System;

    using System.Collections.Generic;

    using System.ComponentModel;

    using System.Data;

    using System.Drawing;

    using System.Linq;

    using System.Text;

    using System.Windows.Forms;

    using MSXML2;

     

    namespace MSXMLTest

    {

        public partial class Form1 : Form

        {

            private DOMDocument60 doc;

            public Form1()

            {

                InitializeComponent();

            }

     

            private void listBox1_SelectedIndexChanged(object sender, EventArgs e)

            {

                string srch = this.listBox1.SelectedItem.ToString();

                IXMLDOMNode nd = doc.selectSingleNode("bookstore/book[@ISBN= '"+srch+"']");

    //选择所有ISBM=srch并且父结点等于bookstore的所有book接点

                MessageBox.Show(nd.text);

            }

     

            private void button1_Click(object sender, EventArgs e)

            {

                doc = new DOMDocument60();

                doc.load(@"D:\books.xml");

                IXMLDOMNodeList nodes;

                nodes = doc.selectNodes("bookstore/book");

                IXMLDOMNode node = nodes.nextNode();

                while (node != null)

                {

                    this.listBox1.Items.Add(node.attributes.getNamedItem("ISBN").text);

                    node = nodes.nextNode();

                }

            }

        }

    }

        使用System.XML

    XML Reader

     

     

     

     

     

    使用XmlTextReader

    using System;

    using System.Collections.Generic;

    using System.ComponentModel;

    using System.Data;

    using System.Drawing;

    using System.Linq;

    using System.Text;

    using System.Windows.Forms;

    using System.Xml;

     

    namespace XmlTextReaderTest

    {

        public partial class Form1 : Form

        {

            public Form1()

            {

                InitializeComponent();

            }

     

            private void button1_Click(object sender, EventArgs e)

            {

                  System.Xml.XmlTextReader xr = new System.Xml.XmlTextReader(@"D:\books.xml");

                while (xr.Read())

                {

                    if (xr.NodeType == XmlNodeType.Text)

                        this.listBox1.Items.Add(xr.Value);

                }

     

            }

     

            private void listBox1_SelectedIndexChanged(object sender, EventArgs e)

            {

                string str = this.listBox1.SelectedItem.ToString();

                MessageBox.Show(str);

            }

        }

    }

     

  • 学习C# 高级编程之XML初起步

    2008-01-16 17:36:49

    XML DOM

          XML文档对象模型(XML Document Object Model)定义了一种访问和处理XML文档的标准方法。

    什么是DOM

    “W3C文档对象模型(DOM)是一个使程序和脚本有能力动态地访问和更新文档的内容、结构以及样式的平台和语言中立的接口。

    W3C DOM提供了一套标准的用于HTMLXML文档的对象,以及一个访问这些文档的标准接口。
       W3C DOM
    被分为不同的部分(核心、XMLHTML)以及不同的级别(DOM Level 1/2/3):

    什么是XML DOM?

    ·  XML DOM是针对XML的文档对象模型(Document Object Model

    ·  XML DOM独立于平台和语言

    ·  XML DOM定义了一套标准的用于XML的对象

    ·  XML DOM定义一种标准的访问XML文档的方法

    ·  XML DOM定义了一种标准的处理XML文档的方法

    ·  XML DOM是一个W3C标准

    DOMXML文档作为树结构来查看。所有的元素;它们所包含的文本以及它们的属性,可通过DOM树来进行访问。它们的内容可以被修改或删除,新内容也可被创建。元素、它们的文本以及它们的属性均被作为节点。

          C# XML 的命名空间

    类名

    说明

    XmlReader

    抽象的读取器类,提供快速,没有缓存的XML数据。XMLReader 是只读向前的。

    XmlWriter

    抽象的写入器,以流或文件的格式提供快速,没有缓存的XML数据。

    XmlTestReader

    扩展XMLReader,提供访问XML只度向前流。

    XmlTextWriter

    扩展XMLWriter,提供生成向前的XML流。

    其他比较重要的类

    类名

    说明

    XMLNode

    抽象类,表示XML中的一个结点。

    XMLDocument

    扩展XMLNode, 这是XML DOM的实现方式

    XMLDataDocument

    扩展XMLDocument, 即从XML数据中加载的文档,或从关系数据库中的文档。

    XMLResolver

    抽象类,分析基于XML的外部资源,例如DTD和模式引用,也可以用语处理<xsl:include><xsl:import>元素。

    XMLUrlResolver

    扩展XMLResolver, URL解析外部资源

     

          .Net 中使用MSXML

       //XPath is a language for finding information in an XML document. XPath is used to navigate t//hrough elements and attributes in an XML document.
    //Xpath
    是一种能够在XML文档中寻找信息的语言。它通过XML文档中的元素和属性来进行导//航。

    什么是 XPath?

    ·  XPath 使用路径表达式在 XML 文档中进行导航

    ·  XPath 包含一个标准函数库

    ·  XPath XSLT 中的主要元素

    ·  XPath 是一个 W3C 标准

    XPath 路径表达式

    XPath 使用路径表达式来选取 XML 文档中的节点或者节点集。这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似。

    XPath 标准函数

    XPath 含有超过 100 个内建的函数。这些函数用于字符串值、数值,日期和时间比较、节点和 QName 处理、序列处理、逻辑值等等。

    XPath XSLT 中使用

    XPath XSLT 标准中的主要元素。如果没有 XPath 方面的知识,您就无法创建 XSLT 文档。

    您可以在我们的《XSLT 教程》中阅读更多的内容。

    XQuery XPointer 均构建于 XPath 表达式之上。XQuery 1.0 XPath 2.0 共享相同的数据模型,并支持相同的函数和运算符。

    XPath W3C 标准

    XPath 19991116 成为 W3C 标准。

    XPath 被设计供 XSLTXPointer 以及其他 XML 解析软件使用。

    您可以在我们的《W3C 教程

Open Toolbar