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

最近大多数的时间都花费在做系统配置上了。大部分的配置比较复杂的都用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. SQL Server性能优化(3)使用SQL Server Profiler查询性能瓶颈

    关于SQL Server Profiler的使用,网上已经有很多教程,比如这一篇文章:SQL Server Profiler:使用方法和指标说明.微软官方文档:https://msdn.microso ...

  2. Posix线程编程指南(5) 杂项

    在Posix线程规范中还有几个辅助函数难以归类,暂且称其为杂项函数,主要包括pthread_self().pthread_equal()和pthread_once()三个,另外还有一个LinuxThr ...

  3. JNA使用

    JNA与C对应的数据类型: 注意:        使用byte[]对应C++中的char* 可以返回函数执行的结果值 一.添加JNA需要的jar包      1.jna.jar      2.plat ...

  4. JavaScript + HTML DOM (keep for myself)

    1.改变 HTML 输出流 JavaScript 能够创建动态的 HTML 内容 eg. <script>document.write(Date());</script> 绝对 ...

  5. NYOJ-289 苹果 TLE 分类: NYOJ 2013-12-29 17:52 282人阅读 评论(0) 收藏

    #include<stdio.h> struct apple{ int m; int v; }app[1010]; int money(int i,int v); int main(){ ...

  6. iOS 开发中的问题

    错误提示: Your build settings specify a provisioning profile with the UUID “39642B69-0278-4265-8392-4B28 ...

  7. if in hlsl

    seems that in HLSL_4, we can use if https://msdn.microsoft.com/en-us/library/bb313972(v=xnagamestudi ...

  8. Swift-6-函数

    // Playground - noun: a place where people can play import UIKit // 定义和调用函数 func sayHello(personName ...

  9. 各大公司广泛使用的在线学习算法FTRL详解

    各大公司广泛使用的在线学习算法FTRL详解 现在做在线学习和CTR常常会用到逻辑回归( Logistic Regression),而传统的批量(batch)算法无法有效地处理超大规模的数据集和在线数据 ...

  10. HDU1013Digital Roots

    G - Digital Roots Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u   ...