1.XML概述:

可扩展标记语言XML(eXtensible Markup Language)是一种简单灵活的文本格式的可扩展标记语言,侧重于存储数据。

2.XML特点

xml 标记语言 html 
xml 侧重于存储数据   html显示数据

注释<!-- 注释 -->

xml没有预定义标签  html有

核心类XElement,一个XElement表示一个元素,new XElement(“Order”),创建一个名字为Order的标签,调用Add增加子元素,也是XElement 对象,和TreeView一样。

3.创建XML

  private void button1_Click(object sender, EventArgs e)

         {

             //创建XDocument实例

             XDocument doc =new XDocument();

             //创建根元素

             XElement root=new XElement("Person");

             XElement stu1=new XElement("student");

             //设置根元素的id属性

             stu1.SetAttributeValue("id",);

             //设置子元素的值

             stu1.SetElementValue("name","卡卡西");

             stu1.SetElementValue("gender","男");

             stu1.SetElementValue("Age",);

             //把子元素添加到根元素里

             root.Add(stu1);

             XElement stu2 = new XElement("student");

             stu2.SetAttributeValue("id", );

             stu2.SetElementValue("name", "鸣人");

             stu2.SetElementValue("gender", "男");

             stu2.SetElementValue("Age", );

             root.Add(stu2);

             //把根元素加到XDocument实例

             doc.Add(root);

             //打开保存文件对话框,设置相应的打开样式

             SaveFileDialog sfd=new SaveFileDialog() {Filter = "xml文件(*.xml)|*.xml|所有文件|*.*",Title = "保存文件",FileName = "保存",DefaultExt = "xml",AddExtension = true,InitialDirectory = @"C:\Users\LWP1398\Desktop" };

             if (sfd.ShowDialog()==DialogResult.OK)

             {

                 doc.Save(sfd.FileName);

             }

             MessageBox.Show("ok");

         }

3.1创建好的文件

4.读取xml

   private void button2_Click(object sender, EventArgs e)

         {

             //打开文件对话框

             OpenFileDialog ofd=new OpenFileDialog() {Filter = "xml文件(*.xml)|*.xml|所有文件(*.*)|*.xml",InitialDirectory = @"C:\Users\LWP1398\Desktop",Title = "打开文件"};

             if (ofd.ShowDialog() == DialogResult.OK)

             {

                 //加载xml文件

                 XDocument doc=XDocument.Load(ofd.FileName);

                 //得到根元素

                 XElement root = doc.Root;

                 //得到根元素下的子元素

                 var eles = root.Elements();

                 //循环遍历每个子元素

                 foreach (XElement item in eles)

                 {

                     //把子元素的信息加到文本框中

                     txtStu.AppendText(item.Name + "===" + item.Attribute("id").Value + "\r\n"); 

                     //循环遍历每个子元素中的信息                  

                     foreach (XElement stu in item.Elements())

                     {

                         txtStu.AppendText(stu.Name + "===" + stu.Value + "\r\n");                        

                     }

                 }

             }

             MessageBox.Show("ok");

         }

4.1读取结果

C#基础精华06(Linq To XML,读取xml文件,写入xml)的更多相关文章

  1. C#使用Linq to csv读取.csv文件数据

    前言:今日遇到了一个需要读取CSV文件类型的EXCEL文档数据的问题,原本使用NPOI的解决方案直接读取文档数据,最后失败了,主要是文件的类型版本等信息不兼容导致.其他同事有使用linq to csv ...

  2. 【XML】利用Dom4j读取XML文档以及写入XML文档

    Dom4j简介 dom4j是一个Java的XML API,是jdom的升级品,用来读写XML文件的.dom4j是一个十分优秀的JavaXML API,具有性能优异.功能强大和极其易使用的特点,它的性能 ...

  3. xml读取 避开并发(xml的一些操作)

    很多地方读取文件可能会出现并发现象 处理: 使用FileMode.Open, FileAccess.Read, FileShare.ReadWrite 避开并发 public static List& ...

  4. maven src/test/resources 下的logback-test.xml 读取 properties文件中的key-value值

    <profiles>        <profile>            <id>test-cd</id>            <prope ...

  5. C#使用Linq to csv读取.csv文件数据2_处理含有非列名数据的方法(说明信息等)

    第一篇博客为:https://www.cnblogs.com/lxhbky/p/11884474.html 本文主要是为了解决上面博客遗留的一个含有不规范数据的一种方法,目前暂时没有从包里发现可以从第 ...

  6. 基础补充:使用xlrd模块读取excel文件

    因为接口测试用例使用excel文件来维护的,所以有必要学习下操作excel的基本方法 参考博客:python 3 操作 excel 把自己练习的代码贴出来,是一些基本的操作,每行代码后面都加了注释. ...

  7. java读取数据写入txt文件并将读取txt文件写入另外一个表

    package com.xsw.test; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.F ...

  8. php逐行读取txt文件写入数组的方法

    使用说明: 采用fopen 方法,逐行读取数据,并使用feof($fp)  判断是否文件截止,最后通过filter() 方法,去除空白行,得到所需数据 $file = fopen("user ...

  9. Android:Xml(读取与存储)

    1.读取XML文件 参数xml是建含xml数据的输入流,List<Person> persons用于存储xml流中的数据. XmlPullParser类的几个方法:next(),nextT ...

随机推荐

  1. Codevs 2296 仪仗队 2008年省队选拔赛山东

    2296 仪仗队 2008年省队选拔赛山东 时间限制: 1 s 空间限制: 256000 KB 题目等级 : 大师 Master 题解 题目描述 Description 作为体育委员,C君负责这次运动 ...

  2. CAF(C++ actor framework)(序列化之复杂类,分析 还有自己不懂的细思恐极函数实现)(三)

    这里应该是序列化的最后一篇.感觉自己写的不是很好,也一点点在学习.这次就不贴上代码了.代码在github上的announce5.cpp.代码简单,但是分析下去会有细思恐极的感觉! 先看一下几个函数是干 ...

  3. 算法 replace,replace_copy,back_inserter

    replace (list.begin(), list.end(), , ); // replace any elements with value of 0 by 42 replace算法对输入序列 ...

  4. Libcurl笔记五_easy模式运行原理

    1, curl_easy_init内部调用Curl_open创建一个结构体SessionHandle(里面包含了所以curl使用的数据和指针)并初始化一些数据,然后返回将其作为给外侧使用的句柄CURL ...

  5. HotSpot算法实现

    1.枚举根节点 可作为GC Roots的节点主要在全局性的引用(例如常量或类静态属性)与执行上下文(例如栈帧中的本地变量表)中. 可达性分析对执行时间的敏感体现在GC停顿上,因为分析工作必须在能确保一 ...

  6. 如何管好.net的内存(托管堆和垃圾回收)

    一:C#标准Dispose模式的实现 需要明确一下C#程序(或者说.NET)中的资源.简单的说来,C#中的每一个类型都代表一种资源,而资源又分为两类: 托管资源:由CLR管理分配和释放的资源,即由CL ...

  7. QQ音乐API分析记录

    我一直是QQ音乐的用户,最近想做一个应用,想用QQ音乐的API,搜索了很久无果,于是就自己分析QQ音乐的API. 前不久发现QQ音乐出了网页版的,是Flash的,但是,我用iPhone打开这个链接的时 ...

  8. JQuery的过滤选择器

    1.eg(num):查找索引num位置的元素,索引从0开始. 2.lt(num):查找索引小于num位置的元素,索引从0开始. 3.gt(num):查找索引大于num位置的元素,索引从0开始. 示例: ...

  9. String.Format数字格式化输出 {0:N2} {0:D2} {0:C2

    //格式为sring输出 //   Label1.Text = string.Format("asdfadsf{0}adsfasdf",a); //   Label2.Text = ...

  10. angularJs--$on、$emit和$broadcast的使用

    $emit只能向parent controller传递event与data $broadcast只能向child controller传递event与data $on用于接收event与data 例子 ...