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. ViewPager的简单例子

    这个例子是按照官网上的例子写的,有点抄袭的嫌疑,但是自己单独写一下会加深自己的印象. 首先是MainAcitivity.xml: <LinearLayout xmlns:android=&quo ...

  2. WIN32一些文件及窗口操作

    0,获取指定的系统路径: #include <shlobj.h>     #pragma comment(lib, "shell32.lib") TCHAR szPat ...

  3. CodeBlock使用技巧

    CodeBlock是一款采用C++编写的完全开源.功能强大的IDE,工欲善其事必先利其器,为了更加方便后期的开发调试,下面先就网上的一些 官方主页地址为:    http://www.codebloc ...

  4. Linux 信号量 生产者消费者小例题

    菜鸟偶遇信号量,擦出火花(只有不熟才会有火花).于是上网搜资料和看<Unix环境高级编程>实现了几个小例题,高手请勿喷!这几位写得非常好啊: 题目来源: http://www.it165. ...

  5. [java学习笔记]java语言核心----面向对象基础

    1.面向对象概述 面向对象是java语言的核心.是对应于面向过程而言的. 面向过程:强调的是过程,即动作.在java中动作就是函数.C语言就是面向过程的. 如:把大象装进冰箱需要几步? 答:需要三步: ...

  6. 隐藏内容_网络推广_seo中级视频教程详解

    课程背景:SEO(Search Engine Optimization),汉译为搜索引擎优化.搜索引擎优化是一种利用搜索引擎的搜索规则来提高目的网站在有关搜索引擎内的排名的方式.SEO目的理解是:为网 ...

  7. Java多线程(一) 多线程的基本使用

    在总结JDBC数据库连接池的时候,发现Java多线程这块掌握得不是很好,因此回头看了下多线程的内容.做一下多线程模块的学习和总结,稳固一下多线程这块的基础.关于多线程的一些理论知识,这里不想啰嗦太多, ...

  8. Java中的栈:java.util.Stack类

    public class Stack<E>extends Vector<E>Stack 类表示后进先出(LIFO)的对象堆栈.它通过五个操作对类 Vector 进行了扩展 ,允 ...

  9. 支持 IE8 IE11 和 FF, Chrome 浏览器的圆角

    .rounded-corners { position: relative behavior: url(/Styles/PIE.htc); //这里一定是“/”根目录 border-radius: 2 ...

  10. IE下的bug解决方案

    1.IE6下的双边距bug <!DOCTYPE html> <html lang="en"> <head> <meta charset=& ...