如何创建XML文件并获取其中某一节点值
来源:互联网 发布:mac safari打不开页面 编辑:程序博客网 时间:2024/06/05 17:10
前几天小崔哥让我整一个插件系统,然后说了一句自己好好研究吧。这个系统用到了动态获取XML文件中的节点值,根据值的不同实现不同的操作。我就从最基本的XML开始学习。
XML文件就如同数据结构中的树,拥有自己的节点,可以将创建的元素加入到某个节点下面成为它的子节点。元素的属性可以通过元素来创建。
下面是我做的一个小例子来方便理解下:
XmlDocument xml = new XmlDocument(); //创建根节点config XmlElement config = xml.CreateElement("Config"); //把根节点加到xml文档中 xml.AppendChild(config); //创建一个节点path(用于做子节点) XmlElement path1 = xml.CreateElement("Path"); //path节点中的文本内容为:E\Test\@用于转义后面的'\' path1.InnerText = @"E:\Test\"; //将path添加为config的子节点 config.AppendChild(path1); //以下Regex同理 XmlElement regex = xml.CreateElement("Regex"); regex.InnerText = "<![CDDATA[@^abc$]]>"; config.AppendChild(regex); XmlElement ini = xml.CreateElement("ini"); //所以 我们需要创建ini标签里的xml属性,属性名为timeout XmlAttribute timeout = xml.CreateAttribute("timeout"); //timeout的属性内容为200 timeout.InnerText = "200"; //标签ini里的文档内容为time ini.InnerText = "time"; //创建完标签的属性timeout后需要将其添加到ini标签的属性里 ini.Attributes.Append(timeout); //最后将ini标签添加到config父节点里 config.AppendChild(ini); //最后将整个xml文件保存在D盘 xml.Save(Request.PhysicalApplicationPath+"abc.xml");Request.PhysicalApplicationPath也就是当前项目的根目录,“abc.xml”是保存后的文件名称。创建后用记事本打开显示为:
<Config> <Path>E:\Test\</Path> <Regex><![CDDATA[@^abc$]]></Regex> <ini timeout="200">time</ini></Config>
创建好XML文件后,如何获取其中的某一节点值呢?
创建XML文件,然后加载需获取的文件,通过选择节点获取节点值。例如:
XmlDocument doc = new XmlDocument(); //查看文件是否存在 if (!Directory.Exists(Request.PhysicalApplicationPath+"abc.xml")) { Response.Write("对不起,您要获取目录不存在。"); return; } //加载文件 doc.Load(Request.PhysicalApplicationPath+"abc.xml"); ////获取根节点 //XmlNodeList nodelist = doc.SelectNodes("//Path"); XmlNode node = null; //获取节点 node = (doc.SelectSingleNode("//Path")); if (node != null) { //返回节点内容 txtTest.Text = node.InnerXml == "" ? node.InnerText : node.InnerXml; } else { txtTest.Text= ""; }
这里只是简单的小例子来方便我理解插件系统的做法,继续做的就是如何解压缩问题,网上找了很多的例子但是都不尽如意,自考过后再研究这个问题与大家分享一下。
- 如何创建XML文件并获取其中某一节点值
- java解析xml文件并获取子节点
- tinyxml使用:创建XML,遍历打印xml文件 select操作,获取单个节点值,删除节点操作,修改节点操作,增加节点操作
- html请求服务器xml文件并解析,获取子节点的属性值
- 获取XML文件某一个节点的值
- Java如何获取xml文件中子节点的属性
- Java如何获取xml文件中子节点的属性
- Java如何获取xml文件中子节点的属性
- Java如何获取xml文件中子节点的属性
- 创建XML文件以及XML中的节点和更新Xml文件中的节点的值
- 再讲*.hbm.xml文件其中的各个节点
- C# 如何创建一个xml文件?并写入指定内容?
- Android如何获取asset下的xml文件,并解析
- C#中如何创建xml文件 增、删、改、查 xml节点信息
- C#中如何创建xml文件 增、删、改、查 xml节点信息
- jom写文件实现,jdom读取XML文件,解析某一element并改值存入文
- Javascript DOM节点链获取,并取得其中需要的父节点
- Swift开发:创建XML文件,包含节点,属性值
- The specified child already has a parent. You must call removeView() on the child's parent first
- C++类和对象
- LeetCode:Remove Element
- html5中svg,canvas和图片之间的相互转化
- 使三个数从大到小按顺序排列
- 如何创建XML文件并获取其中某一节点值
- jquery插件(二):Infinite Scroll–无限分页
- Struts2 ----图片验证码
- Myeclise10.0:org.apache.jasper.JasperException
- undefined和null
- 关于指针,地址总线的一些思考。
- 将16进制颜色转换成RGB值
- jquery插件(三):Colorbox–内容播放插件
- 20131017下阶段工作计划