`
star65225692
  • 浏览: 267623 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类

C#XmlDocument读写Xml文档

 
阅读更多
Xml是扩展标记语言的简写,是一种开发的文本格式。关于它的更多情况可以通过w3组织了解http://www.w3.org/TR/1998/REC-xml-19980210。如果你不知道它,那你就out太多了。
.Net是如何处理Xml的?

1.通过XmlDocument读写Xml文档
2.通过XmlWriter和XmlReader读写Xml文档
3.使用Link to xml存取XML
4.通过XmlScheme定义固定格式xml文档
5.Xml序列化或者反序列化类
6.通过XPath查找Xml节点
7.通过Xslt转化Xml格式
通过XmlDocument读写Xml文档
有如下一段Xml:
<?xml version="1.0" encoding="utf-8" ?>
<students>
  <!--我是一段注释文字-->
  <student name="张平">
    <courses>
      <course name="语文?">
        <teacherComment>
          <![CDATA[
        这里是语文老师的批注
        ]]>
        </teacherComment>      
    </course>

      <course name="数学">
        <teacherComment>
          <![CDATA[
        这里是数学老师的批注
        ]]>
        </teacherComment>
      </course>
    </courses>
  </student>
</students>
1.如何使用XmlDocument读取Xml
我要用一段代码遍历所有Student,并打印Student的所有属性和子节点的值
/*玉开博客 http://www.cnblogs.com/yukaizhao/ */
using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;

namespace XmlExample
{
    class Program
    {
        static void Main(string[] args)
        {
            string xmlFilePath = @"X:\about.net\example\XmlExample\1.xml";
            XmlDocument doc = new XmlDocument();
            doc.Load(xmlFilePath);

            //使用xpath表达式选择文档中所有的student子节点
            XmlNodeList studentNodeList = doc.SelectNodes("/students/student");
            if (studentNodeList != null)
            {
                foreach (XmlNode studentNode in studentNodeList)
                {
                    //通过Attributes获得属性名字为name的属性
                    string name = studentNode.Attributes["name"].Value;
                    Console.WriteLine("Student:" + name);

                    //通过SelectSingleNode方法获得当前节点下的courses子节点
                    XmlNode coursesNode = studentNode.SelectSingleNode("courses");

                    //通过ChildNodes属性获得courseNode的所有一级子节点
                    XmlNodeList courseNodeList = coursesNode.ChildNodes;
                    if (courseNodeList != null)
                    {
                        foreach (XmlNode courseNode in courseNodeList)
                        {
                            Console.Write("\t");
                            Console.Write(courseNode.Attributes["name"].Value);
                            Console.Write("老师评语");
                            //通过FirstNode属性可以获得课程节点的第一个子节点,LastNode可以获得最后一个子节点
                            XmlNode teacherCommentNode = courseNode.FirstChild;
                            //读取CData节点
                            XmlCDataSection cdata = (XmlCDataSection)teacherCommentNode.FirstChild;
                            Console.WriteLine(cdata.InnerText.Trim());
                        }
                    }Javascript元编程创建DOM节点

                }
            }

            Console.Write("\r\nPress any key to continue....");
            Console.Read();
        }
    }
}
分享到:
评论

相关推荐

    c#用xmlDocument等操作XML文件

    简单易懂地介绍C#是如何对XML文件的读写及创建、修改操作的

    C# xml多个同名节点操作

    方便对xml中任意节(多个同名节点)点属性进行获取、设置。 /// /// 设置指定节点的属性 /// /// &lt;param name="xmlContent"&gt;xml结构 /// 父节点 /// 父节点所处同名节点的位置 为0表明只有一个该节点 /// ...

    C# 操作XML文档 使用XmlDocument类方法

    它将整个XML文档都先装载进内存中,然后再对XML文档进行操作,所以如果XML文档内容过大,不建议使用XmlDocument类,因为会消耗过多内存。对于很大的XML文档,可以使用XmlReader类来读取。因为XmlReader使用Steam(流...

    C#读写XML文件

    使用Document读取及写入XML方法 使用XmlTextWriter写入XML方法 使用XmlTextReader读取XML方法 作用SqlCommand.ExecuteXmlReader()取得XML

    C#实现提高xml读写速度的方法

    代码如下:dim domxmldocument as system.xml.xmldocument   dim tmppath as string = apptempfilepath   dim xmlfile as string = tmppath + “\testxml.xml”  ‘窗体加载事件   private sub testxml_load...

    C# 如何监视XML文档中的数据变化(源码)

    如何为xmlDocument类添加事件处理程序,实现对文件数据的监视。。。

    用c#操作Xml

    里面有三个小例子:使用XmlReader读Xml;使用XmlWriter写Xml;通过XmlDocument读写Xml文档。

    C# 写入XML文档三种方法详细介绍

    我在以前的博客中介绍了如何使用XmlDocument类对XML进行操作,以及如何使用LINQ to XML对XML进行操作。它们分别使用了XmlDocument类和XDocument类。在本文中,我再介绍一个类,XmlTextWriter。我们分别用这三个类将...

    c#中XML解析文件出错解决方法

    ”和“&”,对xml来说是禁止使用的,针对这种字符,解决方式是使用CDATA部件以”&lt;![CDATA[” 标记开始,以”]]&gt;”标记结束,是CDATA内部内容被解析器忽略。具体说明参考《XML CDATA是什么?》。 2.内容中含有低位...

    c#对xml的简单操作

    xml文件格式如下: &lt;... ”false”&gt;  &lt;server&gt;localhost &lt;uid&gt;sa &lt;pwd&gt;&lt;/pwd&gt;   &lt;name&gt;jiayuan   读取节点中的一个属性 XmlDocument doc=new XmlDocument(); doc.Load(“config.xml”);//可

    详解C#对XML、JSON等格式的解析

    一、C#对XML格式数据的解析 1、用XMLDocument来解析 XmlDocument xmlDocument = new XmlDocument(); xmlDocumentLoad(testxml); //创建新节点 XmlElement nn = xmlDocumentCreateElement(image); nnSetAttribute...

    C# LINQ to XML应用介绍

    我在前一篇博客中,介绍了如何使用XmlDocument类来对XML文档进行操作。后来 .Net又引入了LINQ,于是LINQ to XML也就应运而生,所以在.Net中,不仅可以用W3C XML DOM标准,还可以使用LINQ to XML来操作XML文档。下面...

    C#下通过LINQ实现对XML文档指定节点的删除操作

    之前操作XML文档基本上用的是XmlDocument对象,对一些小文件的操作使用还挺顺手,偶尔用来操作一个4M的XML文件,发现查询指定的节点并删除时执行时间很长。在Web项目下和控制台程序中都出现很长时间程序无响应,并且...

    C# 读写XML(代码分享)

    XmlDocument xd = new XmlDocument(); string fileName = @D:\test.xml; xd.Load(fileName); XmlNodeList xmlNoteList = xd.GetElementsByTagName(user); List&lt;User&gt; users = new List(); foreach (XmlElement ...

    C#操作XML通用方法汇总

    在.net的项目开发中,经常会对XML文件进行操作,由于XML文件可以实现跨平台传输,较多的应用在数据传输中,特总结以下几种常用的XML操作方法: 1.创建XML文档: /// /// 创建XML文档 /// /// 根节点名称 ///...

    c#对XML文档的创建与增删改查的示例代码

    XmlDocument doc = new XmlDocument(); //2、创建第一行描述信息 XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "utf-8", null); //3、将创建的第一行描述信息添加到文档中 doc.AppendChild(dec); //...

    XML操作帮助类C#实现

    4. 命名空间(Namespace):命名空间用于避免不同源的XML文档中元素之间的冲突。它通过为标签名称添加前缀来表示所属的命名空间,例如 `&lt;ns:element&gt;`。 5. 注释(Comments):XML还支持添加注释,以便在文档中添加...

    c#对xml增删改查操作示例

    已知有一个XML文件(bookstore.xml)如下: 代码如下:&lt;?xml version=”1.0″ encoding=”gb2312″?&gt;&lt;bookstore&gt;&lt;book ...1、往节点中插入一个节点: 代码如下:XmlDocument xmlDoc=new XmlDocument();xmlDoc.L

    发热数据程序上报.zip

    主要对XML文件进行加解密。保护重要信息(数据库连接账户和密码等配置信息) //解密XML文件 public static XmlDocument ReadFileXML(string mFilePath) { XmlDocument xmlDoc = new XmlDocument(); try { ...

Global site tag (gtag.js) - Google Analytics