C# XML - XmlDocument
http://msdn.microsoft.com/zh-cn/library/System.Xml.XmlDocument(v=vs.80).aspx
1.member
http://msdn.microsoft.com/zh-cn/library/system.xml.xmldocument_members(v=vs.80).aspx
名称 | 说明 | |
---|---|---|
Attributes | 获取一个 XmlAttributeCollection,它包含该节点的属性。(从 XmlNode 继承。) | |
BaseURI | 已重写。获取当前节点的基 URI。 | |
ChildNodes | 获取节点的所有子节点。(从 XmlNode 继承。) | |
DocumentElement | 获取文档的根 XmlElement。 | |
DocumentType | 获取包含 DOCTYPE 声明的节点。 | |
FirstChild | 获取节点的第一个子级。(从 XmlNode 继承。) | |
HasChildNodes | 获取一个值,该值指示节点是否有任何子节点。(从 XmlNode 继承。) | |
Implementation | 获取当前文档的 XmlImplementation 对象。 | |
InnerText | 获取或设置节点及其所有子节点的串联值。(从 XmlNode 继承。) | |
InnerXml | 已重写。获取或设置表示当前节点子级的标记。 | |
IsReadOnly | 已重写。获取一个值,该值指示当前节点是否是只读的。 | |
Item | 已重载。获取指定的子元素。(从 XmlNode 继承。) | |
LastChild | 获取节点的最后一个子级。(从 XmlNode 继承。) | |
LocalName | 已重写。获取节点的本地名称。 | |
Name | 已重写。获取节点的限定名。 | |
NamespaceURI | 获取该节点的命名空间 URI。(从 XmlNode 继承。) | |
NameTable | 获取与此实现关联的 XmlNameTable。 | |
NextSibling | 获取紧接在该节点之后的节点。(从 XmlNode 继承。) | |
NodeType | 已重写。获取当前节点的类型。 | |
OuterXml | 获取表示此节点及其所有子节点的标记。(从 XmlNode 继承。) | |
OwnerDocument | 已重写。获取当前节点所属的 XmlDocument。 | |
ParentNode | 已重写。获取该节点(对于可以具有父级的节点)的父级。 | |
Prefix | 获取或设置该节点的命名空间前缀。(从 XmlNode 继承。) | |
PreserveWhitespace | 获取或设置一个值,该值指示是否在元素内容中保留空白。 | |
PreviousSibling | 获取紧接在该节点之前的节点。(从 XmlNode 继承。) | |
SchemaInfo | 已重写。返回节点的后架构验证信息集 (PSVI)。 | |
Schemas | 获取或设置与此 XmlDocument 关联的 XmlSchemaSet 对象。 | |
Value | 获取或设置节点的值。(从 XmlNode 继承。) | |
XmlResolver | 设置 XmlResolver 以用于解析外部资源。 |
2. function
名称 | 说明 | |
---|---|---|
AppendChild | 将指定的节点添加到该节点的子节点列表的末尾。 (从 XmlNode 继承。) | |
Clone | 创建此节点的一个副本。 (从 XmlNode 继承。) | |
CloneNode | 已重写。 创建此节点的一个副本。 | |
CreateAttribute | 已重载。 创建具有指定名称的 XmlAttribute。 | |
CreateCDataSection | 创建包含指定数据的 XmlCDataSection。 | |
CreateComment | 创建包含指定数据的 XmlComment。 | |
CreateDocumentFragment | 创建 XmlDocumentFragment。 | |
CreateDocumentType | 返回新的 XmlDocumentType 对象。 | |
CreateElement | 已重载。 创建 XmlElement。 | |
CreateEntityReference | 创建具有指定名称的 XmlEntityReference。 | |
CreateNavigator | 已重载。 已重写。 创建一个用于导航此文档的新 XPathNavigator 对象。 | |
CreateNode | 已重载。 创建 XmlNode。 | |
CreateProcessingInstruction | 创建一个具有指定名称和数据的 XmlProcessingInstruction。 | |
CreateSignificantWhitespace | 创建一个 XmlSignificantWhitespace 节点。 | |
CreateTextNode | 创建具有指定文本的 XmlText。 | |
CreateWhitespace | 创建一个 XmlWhitespace 节点。 | |
CreateXmlDeclaration | 创建一个具有指定值的 XmlDeclaration 节点。 | |
Equals | 已重载。 确定两个 Object 实例是否相等。 (从 Object 继承。) | |
GetElementById | 获取具有指定 ID 的 XmlElement。 | |
GetElementsByTagName | 已重载。 返回一个 XmlNodeList,它包含与指定名称匹配的所有子代元素的列表。 | |
GetEnumerator | 提供对 XmlNode 中节点上“for each”样式迭代的支持。 (从 XmlNode 继承。) | |
GetHashCode | 用作特定类型的哈希函数。GetHashCode 适合在哈希算法和数据结构(如哈希表)中使用。 (从 Object 继承。) | |
GetNamespaceOfPrefix | 查找当前节点范围内离给定的前缀最近的 xmlns 声明,并返回声明中的命名空间 URI。 (从 XmlNode 继承。) | |
GetPrefixOfNamespace | 查找当前节点范围内离给定的命名空间 URI 最近的 xmlns 声明,并返回声明中定义的前缀。 (从 XmlNode 继承。) | |
GetType | 获取当前实例的 Type。 (从 Object 继承。) | |
ImportNode | 将节点从另一个文档导入到当前文档。 | |
InsertAfter | 将指定的节点紧接着插入指定的引用节点之后。 (从 XmlNode 继承。) | |
InsertBefore | 将指定的节点紧接着插入指定的引用节点之前。 (从 XmlNode 继承。) | |
Load | 已重载。 加载指定的 XML 数据。 | |
LoadXml | 从指定的字符串加载 XML 文档。 | |
Normalize | 将此 XmlNode 下子树完全深度中的所有 XmlText 节点都转换成“正常”形式,在这种形式中只有标记(即标记、注释、处理指令、CDATA 节和实体引用)分隔 XmlText 节点,也就是说,没有相邻的 XmlText 节点。 (从 XmlNode 继承。) | |
PrependChild | 将指定的节点添加到该节点的子节点列表的开头。 (从 XmlNode 继承。) | |
ReadNode | 根据 XmlReader 中的信息创建一个 XmlNode 对象。读取器必须定位在节点或属性上。 | |
ReferenceEquals | 确定指定的 Object 实例是否是相同的实例。 (从 Object 继承。) | |
RemoveAll | 移除当前节点的所有子节点和/或属性。 (从 XmlNode 继承。) | |
RemoveChild | 移除指定的子节点。 (从 XmlNode 继承。) | |
ReplaceChild | 用 newChild 节点替换子节点 oldChild。 (从 XmlNode 继承。) | |
Save | 已重载。 将 XML 文档保存到指定的位置。 | |
SelectNodes | 已重载。 选择匹配 XPath 表达式的节点列表。 (从 XmlNode 继承。) | |
SelectSingleNode | 已重载。 选择匹配 XPath 表达式的第一个 XmlNode。 (从 XmlNode 继承。) | |
Supports | 测试 DOM 实现是否实现特定的功能。 (从 XmlNode 继承。) | |
ToString | 返回表示当前 Object 的 String。 (从 Object 继承。) | |
Validate | 已重载。 验证 XmlDocument 是不是 Schemas 属性中包含的 XML 架构定义语言 (XSD) 架构。 | |
WriteContentTo | 已重写。 将 XmlDocument 节点的所有子级保存到指定的 XmlWriter 中。 | |
WriteTo | 已重写。 将 XmlDocument 节点保存到指定的 XmlWriter。 |
3. example
private void button1_Click(object sender, EventArgs e)
{
XmlDocument doc = new XmlDocument();
doc.Load(@"..\..\CD.xml"); XmlElement root = null;
root = doc.DocumentElement; XmlNamespaceManager nsmgr = new XmlNamespaceManager(doc.NameTable);
nsmgr.AddNamespace("ab", "http://www.lucernepublishing.com"); XmlNodeList listNodes = null;
listNodes = doc.SelectNodes("/ab:bookstore/ab:book[ab:author[ab:sex]]/ab:price", nsmgr);
foreach (XmlNode node in listNodes )
{
richTextBox1.Text += node.InnerText + "\n";
}
}
example 2 - insert node
XmlDocument xmlDoc=new XmlDocument();
xmlDoc.Load("bookstore.xml");
XmlNode root=xmlDoc.SelectSingleNode("bookstore");//查找<bookstore>
XmlElement xe1=xmlDoc.CreateElement("book");//创建一个<book>节点
xe1.SetAttribute("genre","李赞红");//设置该节点genre属性
xe1.SetAttribute("ISBN","2-3631-4");//设置该节点ISBN属性 XmlElement xesub1=xmlDoc.CreateElement("title");
xesub1.InnerText="CS从入门到精通";//设置文本节点
xe1.AppendChild(xesub1);//添加到<book>节点中
XmlElement xesub2=xmlDoc.CreateElement("author");
xesub2.InnerText="候捷";
xe1.AppendChild(xesub2);
XmlElement xesub3=xmlDoc.CreateElement("price");
xesub3.InnerText="58.3";
xe1.AppendChild(xesub3); root.AppendChild(xe1);//添加到<bookstore>节点中
xmlDoc.Save("bookstore.xml");
example 3- modify
XmlNodeList nodeList=xmlDoc.SelectSingleNode("bookstore").ChildNodes;//获取bookstore节点的所有子节点
foreach(XmlNode xn in nodeList)//遍历所有子节点
{
XmlElement xe=(XmlElement)xn;//将子节点类型转换为XmlElement类型
if(xe.GetAttribute("genre")=="李赞红")//如果genre属性值为“李赞红”
{
xe.SetAttribute("genre","update李赞红");//则修改该属性为“update李赞红” XmlNodeList nls=xe.ChildNodes;//继续获取xe子节点的所有子节点
foreach(XmlNode xn1 in nls)//遍历
{
XmlElement xe2=(XmlElement)xn1;//转换类型
if(xe2.Name=="author")//如果找到
{
xe2.InnerText="亚胜";//则修改
break;//找到退出来就可以了
}
}
break;
}
} xmlDoc.Save("bookstore.xml");//保存。
C# XML - XmlDocument的更多相关文章
- C#(1):XML DOM、System.Xml.XmlDocument
一.XML DOM概述 XML 文档大小写敏感.属性用引号括起来,每一个标记都要闭合. DOM是XML文档的内存中树状的表示形式. 继承关系图: XmlNode;//XML节点 ......Xml ...
- C# XML,XmlDocument简单操作实例
private static string _Store = LocalPathHelper.CurrentSolutionPath + "/data/bookstore.xml" ...
- C#操作Xml:通过XmlDocument读写Xml文档
什么是Xml? Xml是扩展标记语言的简写,是一种开发的文本格式.关于它的更多情况可以通过w3组织了解http://www.w3.org/TR/1998/REC-xml-19980210.如果你不知道 ...
- xml字符串转为XmlDocument
string xml = "<xml><logistics_express_get_respose><express_detail><company ...
- C# -- 使用XmlDocument或XDocument创建xml文件
使用XmlDocument或XDocument创建xml文件 需引用:System.Xml; System.Xml.Linq; 1.使用XmlDocument创建xml(入门案例) static vo ...
- XML 读写(XmlDocument、XPathNavigator、XDocument)
内存中的 XML 处理 基于流的 XML 处理提供了最小的负载,但也只提供了最小的灵活性.在很多 XML 处理场景里,你不会在这么低的层次下工作. 对内存中的 XML 的处理则更加方便,但没有单一.标 ...
- 通过XmlDocument读写Xml文档参考地址
/// <summary> /// 获取一个报表的参数 http://blog.csdn.net/hdhai9451/article/details/12170069 /// </s ...
- 一、XML DOM、XMLDocument
一.XML DOM概述 XML 文档大小写敏感.属性用引号括起来,每一个标记都要闭合. DOM是XML文档的内存中树状的表示形式. 继承关系图: XmlNode;//XML节点 ......XmlDo ...
- xml
//写入XML文件 public static void SavetoXml(List<ProxyEntity> proxys) { string path = Path.Combine( ...
随机推荐
- asp.net C#生成和解析二维码代码
类库文件我们在文件最后面下载 [ThoughtWorks.QRCode.dll 就是类库] 使用时需要增加: using ThoughtWorks.QRCode.Codec;using Thought ...
- 零基础Android学习笔记-03 窗口间的数据传递
1.通过全局变量来传递. 新建一个全局的类继承于Application package com.example.helloworld; import android.app.Application; ...
- (转)LR监控Linux系统性能计数器详解
从LR里面add measurement,填写linux机器的IP,出现所有unix/linux的计数器,包括cpu的,mem的,disk,network的.这里介绍几个常用的: (对于如何监控Lin ...
- 怎样把function中的arguments变成普通数组
当我们在写一个具有处理可变长度参数的函数时,需要对arguments做一些操作.但是arguments它并不是一个数组,没有数组的各种操作,而且,JS的严格模式中不允许更改它的值. 这时我们需要将它的 ...
- Java 字符流实现文件读写操作(FileReader-FileWriter)
Java 字符流实现文件读写操作(FileReader-FileWriter) 备注:字符流效率高,但是没有字节流底层 字节流地址:http://pengyan5945.iteye.com/blog/ ...
- [GeekBand]C++高级编程技术(2)
本篇笔记主要分为两个主要部分,第一部分关于对象模型,第二部分是关于new和delete的更加深入的学习. 一.对象模型 关于vptr(虚指针)和vtbl(虚函数表) 只要用到了虚函数,对象中就会多一个 ...
- POJ 2533
最长上升子序列裸题在网上看到有两种方法...一种复杂度O(N^2),一种O(NlogN).orz O(N^2): #include<cstdio> #define N 1001 int m ...
- 【风马一族_Java】 Java的文件类 java.io
BufferedReader 从字符输入流中读取文本,缓冲各个字符,从而实现字符.数组和行的高效读取. 可以指定缓冲区的大小,或者可使用默认的大小.大多数情况下,默认值就足够大了. 通常,Reader ...
- Nginx 之并发优化
客户端/服务端 连接数 ulimit -n 100000 nginx 链接数 10240 个 worker_connections 10240;允许打开文件数worker_processes 1;wo ...
- C#的Socket简单实现消息发送
Socket一般用于网络之间的通信,在这里,实现的是服务端与客户端的简单消息通信.首先是客户端的搭建,一般步骤是先建立Socket绑定本地的IP和端口,并对远端连接进行连接进行监听,这里的监听一般开启 ...