以我个人来说,我用xml主要是要用它做配置文件,而不是用于交换数据什么的,所以呢,我的xml都是比较小的,所以没有必要用SAX了。还是用DOM好啊。我分析了一下用xml做配置文件时的可能需求:
一、读写、创建、删除一个指定元素的某个属性值
二、读写、创建、删除一个指定元素的某个子元素的属性
三、创建、删除某个指定元素
四、循环处理某个元素下的所有子元素
要做到这些并不难,只不过需要对于System.Xml下的类层次结构有所了解。dotnet实现DOM时,节点的概念比元素、属性的概念都要广泛。节点有很多种类型,常见的有:
元素、属性、文本、注释。因此,我们常用的类有:XmlNode,XmlElement,XmlAttribute,XmlText,XmlComment。在用System.Xml时。往往要做一些事前准备。
一、XmlDocument xmlDoc=new XmlDocument();
二、xmlDoc.Load(filepath);
三、取得根节点XmlElement xmlEle=xmlDoc.DocumentElement;
四、就是用XmlEle.SelectNodes(Xpath);选择节点了。不过返回的是XmlNodeList。
五、循环处理罗。不过如果要针对元素节点处理的话可能要先判断一下节点的类型,再强制转换。怎样判断节点类型呢,比如:XmlNode.NodeType==XmlNodeType.Element。就这么简单。有了XmlElement的引用后,就可以GetAttribute、SetAttribute、RemoveAttribute了。为所欲为了。
六、xmlDoc.Save(filename);保存修改。
这些类的用法没什么好复杂的。关键就是在那个xpath怎么写。请参见教程。
明天就研究研究XPath了。我发现它的内容并不是一个简单的/A/B/C[@name='ppp']所能概括。居然还有函数。
评论