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的值还包含了当前这个标签的标签名。
XML文件操作学习(一)的更多相关文章
- 我来讲讲在c#中怎么进行xml文件操作吧,主要是讲解增删改查!
我把我写的四种方法代码贴上来吧,照着写没啥问题. 注: <bookstore> <book> <Id>1</Id> <tate>2010-1 ...
- C# XML文件操作
C# XML文件操作 运行环境:Window7 64bit,.NetFramework4.61,C# 6.0: 编者:乌龙哈里 2017-02-09 参考 LINQ to XML System.Xml ...
- 【转】Mybatis 3.1中 Mapper XML 文件 的学习详解
MyBatis 真正的力量是在映射语句中.这里是奇迹发生的地方.对于所有的力量,SQL 映射的 XML 文件是相当的简单.当然如果你将它们和对等功能的 JDBC 代码来比较,你会发现映射文件节省了大约 ...
- XML文件操作类--创建XML文件
这个类是在微软XML操作类库上进行的封装,只是为了更加简单使用,包括XML类创建节点的示例. using System; using System.Collections; using System. ...
- PHP对XML文件操作之属性与方法讲解
DOMDocument相关的内容. 属性: Attributes 存储节点的属性列表(只读) childNodes 存储节点的子节点列表(只读) dataType 返回此节点的数据类型 Definit ...
- 7.数据本地化CCString,CCArray,CCDictionary,tinyxml2,写入UserDefault.xml文件,操作xml,解析xml
数据本地化 A CCUserDefault 系统会在默认路径cocos2d-x-2.2.3\projects\Hello\proj.win32\Debug.win32下生成一个名为UserDef ...
- SpringBatch Sample (三)(XML文件操作)
前篇关于Spring Batch的文章,讲述了Spring Batch 对CSV文件的读写操作. 本文将通过一个完整的实例,与大家一起讨论运用Spring Batch对XML文件的读写操作.实例流程是 ...
- Mybatis 3.1中 Mapper XML 文件 的学习详解(转载)
MyBatis 真正的力量是在映射语句中.这里是奇迹发生的地方.对于所有的力量,SQL 映射的 XML 文件是相当的简单.当然如果你将它们和对等功能的 JDBC 代码来比较,你会发现映射文件节省了大约 ...
- MyBatis Mapper XML 文件 的学习详解
MyBatis 真正的力量是在映射语句中.这里是奇迹发生的地方.对于所有的力量,SQL 映射的 XML 文件是相当的简单.当然如果你将它们和对等功能的 JDBC 代码来比较,你会发现映射文件节省了大约 ...
随机推荐
- 搭建SpringMVC+MyBatis开发框架三
新增spingmvc.xml配置 在WEB-INF下新增spingmvc.xml,主要是配置spring扫描的包:  <?xml version="1.0" encodin ...
- Android系统Recovery工作原理
Android系统Recovery工作原理之使用update.zip升级过程分析(一)---update.zip包的制作 http://blog.csdn.net/mu0206mu/article/d ...
- FbxDataType is ambiguous
??? 使用fbx自定义的类型的时候,比如 FbxIntDT 会有link error 根本原因是 FbxDataType is ambiguous solution: 把fbx的lib换成 libf ...
- NPC AI驱动最基本过程
NPC AI驱动最基本过程 NPCmgr中比较重要的是加载NPC和一个NPCAI的一个指针 他利用map那个线程的定时到底做了啥呢 void NPCmgr::npcAITimer() { time_t ...
- C#中实现VB中的CreateObject方法
经常看到有些VB的例子中直接用个CreateObject就可调用系统功能(大多是COM对象),像用户设定,网络设定等等.虽然C#中可以通过使用VB的命名空间的方法来调用CreateObject函数,但 ...
- 平面最小割—BZOJ 1001
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1001 很有意思的题目,本来想直接上网络流,但是发现点太多,边太多2333. 直接网络流无法 ...
- HTTP常见返回代码(HTTP Status codes)的分类和含义
HTTP错误主要分成三类:用户设备问题.Web服务器问题和连接问题.当客户端向Web服务器发送一个HTTP请求时,服务器都会返回一个响应代码.而这些响应代码主要分成五类. HTTP状态码中定义了5大类 ...
- jQuery .tmpl() 用法
动态请求数据来更新页面是现在非常常用的方法,比如博客评论的分页动态加载,微博的滚动加载和定时请求加载等. 这些情况下,动态请求返回的数据一般不是已拼好的 HTML 就是 JSON 或 XML,总之不在 ...
- SQL技术内幕-13 SQL优化方法论之分离重量级的等待
Code -- Isolate top waits WITH Waits AS ( SELECT wait_type, wait_time_ms / . AS wait_time_s, . * wai ...
- EF框架 完整项目记录
今天终于能用EF框架搭建一个项目,同时能连接sqlserver 数据库.mysql 数据库 1.必须的文件 2.将必须文件导入项目,此处用到“管理 NuGet 程序包”,由于从网上下载比较慢,此处从本 ...