XmlDocument

XmlDocument对象是用处理xml文件的。

这里先介绍几个知识点。

1.CDATA 不检测文本,因为和网页的跨站攻击一样,xml也存在转义的问题。在CDATA块内的数据会原样输出。

2.XmlNode和XmlElement的区别,后者是前者的子类,前者包括的范围广,xml文档的所有节点都归宿XmlNode,

只有文本节点才属于XmlElement。

用法:

1.Load 加载xml文档。

2.LoadXml 加载xml文档,内部调用了Load方法。

3.HasChildNode 判断是否有子节点。

3.NodeChilds 拿到所有子节点。

4.Name 节点的名称。

5.value 节点的值。测试一直拿不到值,现在还不知道原因。

6.innerText 节点下所有后代节点的文本。

7.innerXml 节点下所节点。包括标签和文本。

8.CreateElement 创建节点。

9.AppendChild 追加节点,这里不能追加在根节点下,因为每个xml只能有一个根节点。

10.DocumentElement 文档的根节点。

11.SelectNodes 选择节点,这里得到的集合。

12.SelectSingleNode 选择节点 会得到符合条件的第一个节点。

13.通过各种节点的操作也能只拿到想要的节点。如ChildNodes、FirstNode、LastNode

14.NodeType 节点的类型。这里列出了一点

Attribute 属性 如id
CDATA
comment 注释部分
document 根节点
documentfragment 文档
elemet 元素 如<item>
endelement 结束元素 如</item>
entity 实体声明
entity 实体声明结束
entityreference 对实体的引用 如&num;
text节点的文本内容
xmldeclaration 文档的声明部分 如<?xml version="1
if (xmlDoc.NodeType==XmlNodeType.XmlDeclaration)

经测试 :对于一个节点如<item>text</item>

其中text为item的子节点。

时间: 2024-08-04 18:41:25

XmlDocument的相关文章

【原创】XmlDocument.LoadXml和Load的区别

LoadXml是加载xml字符串.参数是xml的内容.Load加载的是一个xml文件.参数是文件路径. 示例一: public static void ParseXml(WWW www) {     XmlDocument xmlDoc = new XmlDocument();     xmlDoc.LoadXml(www.text);     XmlNodeList nodeList = xmlDoc.SelectSingleNode("rank").ChildNodes;     

firefox下jquery ajax 返回 [object XMLDocument]处理

1 在firefox下使用jquery ajax处理 返回json类型的时候,ajax执行成功返回结果为 [object XMLDocument]. 2 3 处理办法:在getWriter.write():前面加上一行代码response().setContentType("text/html;charset=UTF-8");

利用XmlDocument操作XML文件

利用XmlDocument可以方便的操作XML文件. 1.操作XML文件基本方法 (1)添加对System.Xml的引用,并使用using语句添加引用: (2)假设要读取的XML文件如下: <?xml version="1.0" encoding="utf-8"?> <Students> <Student> <Name>张靓靓</Name> <Age>20</Age> <Hob

C# XMLDocument

今天开发一个WPF模块需要本地化保存一些用户设置,鉴于数据量不大,用XML. (要是再小的话可以用Resources 和 Settings). 清晰简短教程移步:http://bdk82924.iteye.com/blog/564353 代码如下: using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading

修复使用&lt;code&gt;XmlDocument&lt;/code&gt;加载含有DOCTYPE的Xml时,加载后增加“[]”字符的错误

C# LINQ TO XML - Remove “[]” characters from the DTD header http://stackoverflow.com/questions/12358061/c-sharp-linq-to-xml-remove-characters-from-the-dtd-header public static void FixDocumentType(this XmlDocument xml) { if (xml?.DocumentType == null

C#如何将两个XmlDocument合并为一个XmlDocument

XmlDocument xd = new XmlDocument(); //添加顶级结点(如果不添加一个节点的话,无法使用xd.DocumentElement.AppendChild,会报出:未将对象引用设置到对象的实例的错误) XmlElement xe = xd.CreateElement("XmlDocumentTest"); xd.AppendChild(xe); //第一个XmlDocument:vsXmlDocument1 XmlNode xnDesi = xd.Impor

XmlDocument.LoadXml(string) 转换问题

C#使用LoadXML要求传入的字符串必须为UTF-16编码(奇怪的要求) 解决方案是不用LoadXML方法,改用Load方法读取 代码如下: XmlDocument doc = new XmlDocument(); string str = "......."; byte[] encodedString = Encoding.UTF8.GetBytes(str); System.IO.MemoryStream ms = new System.IO.MemoryStream(encod

C#操作XML的完整例子——XmlDocument篇

这是一个用c#控制台程序下,  用XmlDocument 进行XML操作的的例子,包含了查询.增加.修改.删除.保存的基本操作.较完整的描述了一个XML的整个操作流程.适合刚入门.net XML操作的朋友参考和学习. 假设有XML文件:books.xml Xml代码   <?xml version="1.0" encoding="UTF-8"?> <books> <book> <name>哈里波特</name&g

C# XmlDocument操作XML

XML:Extensible Markup Language(可扩展标记语言)的缩写,是用来定义其它语言的一种元语言,其前身是SGML(Standard Generalized Markup Language,标准通用标记语言).它没有标签集(tag set),也没有语法规则(grammatical rule),但是它有句法规则(syntax rule).任何XML文档对任何类型的应用以及正确的解析都必须是良构的(well-formed),即每一个打开的标签都必须有匹配的结束标签,不得含有次序颠