纳金网
标题: C#读写XML文件小结 [打印本页]
作者: 王者再临 时间: 2014-11-25 02:13
标题: C#读写XML文件小结
C#读写XML文件一点小结贴。
基础知识:
可以参考如下地址文章:
http://www.cnblogs.com/mingmingruyuedlut/archive/2011/01/26/1945107.html
如果是Unity3d中可以参考雨松MOMO的文章:Unity3D研究院之使用 C#合成解析XML与JSON(四十一)
//所需要添加的命名空间
using System.Xml;
//初始化一个xml实例
XmlDocument xml=new XmlDocument();
//导入指定xml文件
xml.Load(“xml文件路径path”);
//指定一个节点
XmlNode root=xml.SelectSingleNode("节点名称");
//获取节点下所有直接子节点
XmlNodeList childlist=root.ChildNodes;
//判断该节点下是否有子节点
root.HasChildNodes;
//获取同名同级节点集合
XmlNodeList nodelist=xml.SelectNodes("节点名称");
//生成一个新节点
XmlElement node=xml.createElement_x_x_x_x_x("节点名称");
//将节点加到指定节点下,作为其子节点
root.A(node);
//将节点加到指定节点下某个子节点前
root.InsertBefore(node,root.ChildeNodes);
//为指定节点的新建属性并赋值
node.SetAttribute("id","11111");
//为指定节点添加子节点
root.A(node);
//获取指定节点的指定属性值
string id=node.Attributes["id"].Value;
//获取指定节点中的文本
string content=node.InnerText;
//保存XML文件
xml.Save(“xml文件存储的路径path”);
忽略注释问题:
C#在读取XML的时候会读取XML中的全部内容,对于其中注释掉的部分也可以通过节点获取到。
我们可以通过设置IgnoreComments 属性来只读取未加注释的XML信息。
下面是加载为参加注释的XML信息代码:
XmlDocument xmlDoc = new XmlDocument();
XmlReaderSettings settings = new XmlReaderSettings();
settings.IgnoreComments = true;
string strPath = Application.StartupPath + string.Format("\\{0}", xmlDocName);
XmlReader reader = XmlReader.Create(strPath, settings); 6: xmlDoc.Load(reader);
需要注意的是,如果你已经用上面这种去注释的方式读入XML,再之后在程序中修改XML是不行的,修改完后最后调用save函数时会报IOException,因为xmlDoc.Load(reader)这句读入XML文件是只读的,你又要修改,所以文件状态标志位冲突了。所以最后save的时候就报IOException了。所以要修改XML文件就常规的new document完后load就行了。
作者: hyui 时间: 2014-11-25 04:52
Interesting stuff !!!
作者: cgjch8 时间: 2014-11-25 10:59
thanks thanks
欢迎光临 纳金网 (http://go.narkii.com/club/) |
Powered by Discuz! X2.5 |