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

最近大多数的时间都花费在做系统配置上了。大部分的配置比较复杂的都用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的值还包含了当前这个标签的标签名。

XML文件操作学习(一)的更多相关文章

  1. 我来讲讲在c#中怎么进行xml文件操作吧,主要是讲解增删改查!

    我把我写的四种方法代码贴上来吧,照着写没啥问题. 注: <bookstore> <book> <Id>1</Id> <tate>2010-1 ...

  2. C# XML文件操作

    C# XML文件操作 运行环境:Window7 64bit,.NetFramework4.61,C# 6.0: 编者:乌龙哈里 2017-02-09 参考 LINQ to XML System.Xml ...

  3. 【转】Mybatis 3.1中 Mapper XML 文件 的学习详解

    MyBatis 真正的力量是在映射语句中.这里是奇迹发生的地方.对于所有的力量,SQL 映射的 XML 文件是相当的简单.当然如果你将它们和对等功能的 JDBC 代码来比较,你会发现映射文件节省了大约 ...

  4. XML文件操作类--创建XML文件

    这个类是在微软XML操作类库上进行的封装,只是为了更加简单使用,包括XML类创建节点的示例. using System; using System.Collections; using System. ...

  5. PHP对XML文件操作之属性与方法讲解

    DOMDocument相关的内容. 属性: Attributes 存储节点的属性列表(只读) childNodes 存储节点的子节点列表(只读) dataType 返回此节点的数据类型 Definit ...

  6. 7.数据本地化CCString,CCArray,CCDictionary,tinyxml2,写入UserDefault.xml文件,操作xml,解析xml

     数据本地化 A CCUserDefault 系统会在默认路径cocos2d-x-2.2.3\projects\Hello\proj.win32\Debug.win32下生成一个名为UserDef ...

  7. SpringBatch Sample (三)(XML文件操作)

    前篇关于Spring Batch的文章,讲述了Spring Batch 对CSV文件的读写操作. 本文将通过一个完整的实例,与大家一起讨论运用Spring Batch对XML文件的读写操作.实例流程是 ...

  8. Mybatis 3.1中 Mapper XML 文件 的学习详解(转载)

    MyBatis 真正的力量是在映射语句中.这里是奇迹发生的地方.对于所有的力量,SQL 映射的 XML 文件是相当的简单.当然如果你将它们和对等功能的 JDBC 代码来比较,你会发现映射文件节省了大约 ...

  9. MyBatis Mapper XML 文件 的学习详解

    MyBatis 真正的力量是在映射语句中.这里是奇迹发生的地方.对于所有的力量,SQL 映射的 XML 文件是相当的简单.当然如果你将它们和对等功能的 JDBC 代码来比较,你会发现映射文件节省了大约 ...

随机推荐

  1. 或许你不知道(2):LinkedList

    一,基本的存储结构及数据存取 LinkedList与ArrayList同属List的范畴,ArrayList实现了RandomAccess接口,通过索引随机访问效率较高,而LinkedList提供了直 ...

  2. Ruby 多线程探索实践与归纳总结

    Ruby 多线程 每个正在系统上运行的程序都是一个进程.每个进程包含一到多个线程. 线程是程序中一个单一的顺序控制流程,在单个程序中同时运行多个线程完成不同的工作,称为多线程. Ruby 中我们可以通 ...

  3. 显示器VGA视频数据线的问题

    一朋友原来有一套PC电脑,后来买了一台新的显示器,新的显示器分辨率为1920X1080,主机接到新的显示器上,分辨率始终无法上到1920X1080,原主机的显示卡驱动已经是最新,还是不行,又重新安装操 ...

  4. JAVA 关于Icon,Image,ImageIcon的简单的对比参考 分类: Java Game 2014-08-14 17:08 210人阅读 评论(0) 收藏

    转自:http://blog.csdn.net/bcmissrain/article/details/7190886 其实就算是现在,我还是有不少地方概念模糊,但是下面的内容是是没有什么问题的.稍微介 ...

  5. win8.1 环境下搭建PHP5.5.6+Apache2.4.7

    本文主要阐述在windows8及win8.1 环境下搭建PHP5.5.6+Apache2.4.7. 1.软件准备 apache 2.4.7:http://pan.baidu.com/s/1iUPif ...

  6. 使用微信JSSDK自定义分享内容

    微信在6.0.2.58版本以后开始使用新的api,在Android系统中不能用以前的代码来自定义分享内容了. 现在自定义内容的方法走的是公众号的一套流程 1获取access_token 2得到toke ...

  7. 基于jQuery很牛X的批量上传插件

    上传功能应该是每个网站必备的工具之一,因此出现了出现了很多各式各样的上传插件! 本文基于个人经验和使用从插件的:交互体验,易用性,文档,美观度出发,为大家推荐三款很NX的批量上传插件! 下面三款插件的 ...

  8. ASP.NET MVC与RAILS3的比较

    进入后Web年代之后,MVC框架进入了快速演化的时代,Struts等垂垂老矣的老一代MVC框架因为开发效率低下而逐渐被抛弃,新一代的MVC则高举敏捷的大旗,逐渐占领市场,其中的代表有Rails (ru ...

  9. Tomcat自动启动脚本

    Tomcat自动启动脚本#!/bin/bash # chkconfig: 2345 10 90 # description: Starts and Stops the Tomcat daemon. T ...

  10. vim使用指北 ---- Global Replacement

    一般替换 s/old/new   --- 替换当前行的第一个匹配项 s/old/new/g ---- 替换当前行所有的匹配项 number1,number2-s/old/new/g  ---- 替换从 ...