C#读取和写入XML文件

Posted 风雪幻林

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#读取和写入XML文件相关的知识,希望对你有一定的参考价值。

    关于xml是属于一个比较重要的东西,在平时开发的过程中,这块内容最主要的是要掌握XML内容的读取和写入操作。

一.什么是XML?

    • XML 指可扩展标记语言(EXtensible Markup Language)
    • XML 是一种标记语言,很类似html
    • XML 的设计宗旨是传输数据,而非显示数据
    • XML 标签没有被预定义,您需要自行定义标签
    • XML 被设计为具有自我描述性
    • XML 是W3C 的推荐标准

二.XML语法:

   1.一个XML包含以下几部分内容:

文档声明,元素,属性,注释,CDATA(特殊字符),处理指令

  2.最简单的声明格式     
       <?xml version="1.0" ?>
       用encoding属性声明文档的编码     
      <?xml version="1.0" encoding="UTF-8" ?>
      用standalone属性说明文档是否独立     
      <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> 
三.XML文件的读取:
 
xml文件内容:
<?xml version="1.0" encoding="utf-8"?>
<library id="30">
  <BOOK id="20">
    <name>高等数学</name>
    <name1>大学英语</name1>
  </BOOK>
</library>

读取XML内容:

 static void Main(string[] args)
 {
     //将XML文件加载进来
     XDocument document = XDocument.Load("D:\\123.xml");
     //获取到XML的根元素进行操作
     XElement root= document.Root;
     XElement ele= root.Element("BOOK");
     //获取name标签的值
     XElement shuxing= ele.Element("name");
     Console.WriteLine(shuxing.Value);
     //获取根元素下的所有子元素
     IEnumerable<XElement> enumerable = root.Elements();
     foreach (XElement item in enumerable)
     {
         foreach (XElement item1 in item.Elements())
         {
             Console.WriteLine(item1.Name);   //输出 name  name1            
         }
         Console.WriteLine(item.Attribute("id").Value);  //输出20
     }   
     Console.ReadKey();
 }

写入XML内容:

 static void Main(string[] args)
{
     //获取根节点对象
     XDocument document = new XDocument();
     XElement root = new XElement("School");
     XElement book = new XElement("BOOK");
     book.SetElementValue("name", "高等数学");
     book.SetElementValue("name1", "大学英语");
     root.Add(book);
     root.Save("d:\\123.xml");      
     Console.ReadKey();
}

 

 注:这里介绍的两种简单的读取写入xml文件,更多高级的用法可以参考:有道云笔记xml部分内容
 

以上是关于C#读取和写入XML文件的主要内容,如果未能解决你的问题,请参考以下文章

读取和写入 XML 文件的异步方法

如何在不写入磁盘的情况下将 XML 从 Delphi 传递到 C#?

c#二进制文件的写入和读取

记录C#常用的代码片段

读取/写入使用 csd 生成的 xml

写入/读取文本文件 (C#)