XML文件操作学习(一)

受人启发,从今天开始也把学到的东西记在博客里加深印象,并且完成这个梳理过程。

最近大多数的时间都花费在做系统配置上了。大部分的配置比较复杂的都用xml文件来存储。暂时发现有以下几点需要注意的地方。

今天有点晚了,直接贴代码吧

<?xml version= "1.0" encoding= "utf-8"?> 

<Root> 

      <item name="3" id= "3"/> 

      <item name="2" id= "2"/> 

      <item name="5" id= "5"/> 

      <item name="1" id= "1"/> 

</Root> 
XmlSortDemo.xml
using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Xml;



namespace XmlCreateElementDemo

{

    class Program

    {

        static void Main(string[] args)

        {

            var doc = new XmlDocument();

            //测试1: 用相对路径load的问题

            //方法1:文件放在bin/Debug目录下

            //doc.Load("XmlSortDemo.xml");

            //方法2:文件放在当前bin/Debug下的上一级目录,即放在bin下

            doc.Load("../XmlSortDemo.xml");//当前目录的父目录

            

            //测试2 :可以同时新建多个标签名相同的元素

            var node1 = doc.CreateElement("node");

            var node2 = doc.CreateElement("node");



            //测试3 : InnerXml与OuterXml的区别

            XmlNode root = doc.SelectSingleNode("Root");

            var innerXml = root.InnerXml;          

            var outerXml = root.OuterXml;          

        }

    }

}

Tip1:在测试1中,用相对路径加载文件的方法,和我们加载外部程序集时去Load那些dll文件时的道理是一样的,要确保程序执行到这里的时候能够找到指定的文件并且加载。程序在执行时,入口为当前项目的输出路径,一般为项目文件夹下的bin/Debug目录(这个输出路径可以在VS中进行设置),而如果直接写文件名的话,就需要将文件也放在这个输出目录下。

Tips2:doc.CreateElement("node");这个方法中,参数即为新建元素的标签名。同一个XmlDocument的实例可以新建多个有相同标签名的元素。

Tips3:InnerXml与OuterXml的区别。

在上述的代码中,

innerXml的值为:<item name="3" id="3" /><item name="2" id="2" /><item name="5" id="5" /><item name="1" id="1" />

OuterXml的值为:<Root><item name="3" id="3" /><item name="2" id="2" /><item name="5" id="5" /><item name="1" id="1" /></Root>

即OuterXml的值还包含了当前这个标签的标签名。

你可能感兴趣的:(文件操作)