C# XML - XmlDocument

时间:2022-12-02 09:47:22

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

  名称                               说明              
C# XML - XmlDocumentC# XML - XmlDocument Attributes  获取一个 XmlAttributeCollection,它包含该节点的属性。(从 XmlNode 继承。)
C# XML - XmlDocumentC# XML - XmlDocument BaseURI 已重写。获取当前节点的基 URI。
C# XML - XmlDocumentC# XML - XmlDocument ChildNodes  获取节点的所有子节点。(从 XmlNode 继承。)
C# XML - XmlDocumentC# XML - XmlDocument DocumentElement 获取文档的根 XmlElement
C# XML - XmlDocument DocumentType 获取包含 DOCTYPE 声明的节点。
C# XML - XmlDocumentC# XML - XmlDocument FirstChild  获取节点的第一个子级。(从 XmlNode 继承。)
C# XML - XmlDocumentC# XML - XmlDocument HasChildNodes  获取一个值,该值指示节点是否有任何子节点。(从 XmlNode 继承。)
C# XML - XmlDocumentC# XML - XmlDocument Implementation 获取当前文档的 XmlImplementation 对象。
C# XML - XmlDocumentC# XML - XmlDocument InnerText  获取或设置节点及其所有子节点的串联值。(从 XmlNode 继承。)
C# XML - XmlDocumentC# XML - XmlDocument InnerXml 已重写。获取或设置表示当前节点子级的标记。
C# XML - XmlDocumentC# XML - XmlDocument IsReadOnly 已重写。获取一个值,该值指示当前节点是否是只读的。
C# XML - XmlDocumentC# XML - XmlDocument Item  已重载。获取指定的子元素。(从 XmlNode 继承。)
C# XML - XmlDocumentC# XML - XmlDocument LastChild  获取节点的最后一个子级。(从 XmlNode 继承。)
C# XML - XmlDocumentC# XML - XmlDocument LocalName 已重写。获取节点的本地名称。
C# XML - XmlDocumentC# XML - XmlDocument Name 已重写。获取节点的限定名。
C# XML - XmlDocumentC# XML - XmlDocument NamespaceURI  获取该节点的命名空间 URI。(从 XmlNode 继承。)
C# XML - XmlDocumentC# XML - XmlDocument NameTable 获取与此实现关联的 XmlNameTable
C# XML - XmlDocumentC# XML - XmlDocument NextSibling  获取紧接在该节点之后的节点。(从 XmlNode 继承。)
C# XML - XmlDocumentC# XML - XmlDocument NodeType 已重写。获取当前节点的类型。
C# XML - XmlDocumentC# XML - XmlDocument OuterXml  获取表示此节点及其所有子节点的标记。(从 XmlNode 继承。)
C# XML - XmlDocumentC# XML - XmlDocument OwnerDocument 已重写。获取当前节点所属的 XmlDocument
C# XML - XmlDocumentC# XML - XmlDocument ParentNode 已重写。获取该节点(对于可以具有父级的节点)的父级。
C# XML - XmlDocumentC# XML - XmlDocument Prefix  获取或设置该节点的命名空间前缀。(从 XmlNode 继承。)
C# XML - XmlDocumentC# XML - XmlDocument PreserveWhitespace 获取或设置一个值,该值指示是否在元素内容中保留空白。
C# XML - XmlDocumentC# XML - XmlDocument PreviousSibling  获取紧接在该节点之前的节点。(从 XmlNode 继承。)
C# XML - XmlDocumentC# XML - XmlDocument SchemaInfo 已重写。返回节点的后架构验证信息集 (PSVI)。
C# XML - XmlDocumentC# XML - XmlDocument Schemas 获取或设置与此 XmlDocument 关联的 XmlSchemaSet 对象。
C# XML - XmlDocumentC# XML - XmlDocument Value  获取或设置节点的值。(从 XmlNode 继承。)
C# XML - XmlDocumentC# XML - XmlDocument XmlResolver 设置 XmlResolver 以用于解析外部资源。

2. function

名称                               说明              
C# XML - XmlDocumentC# XML - XmlDocument AppendChild  将指定的节点添加到该节点的子节点列表的末尾。 (从 XmlNode 继承。)
C# XML - XmlDocumentC# XML - XmlDocument Clone  创建此节点的一个副本。 (从 XmlNode 继承。)
C# XML - XmlDocumentC# XML - XmlDocument CloneNode 已重写。 创建此节点的一个副本。
C# XML - XmlDocumentC# XML - XmlDocument CreateAttribute 已重载。 创建具有指定名称的 XmlAttribute
C# XML - XmlDocumentC# XML - XmlDocument CreateCDataSection 创建包含指定数据的 XmlCDataSection
C# XML - XmlDocumentC# XML - XmlDocument CreateComment 创建包含指定数据的 XmlComment
C# XML - XmlDocumentC# XML - XmlDocument CreateDocumentFragment 创建 XmlDocumentFragment
C# XML - XmlDocument CreateDocumentType 返回新的 XmlDocumentType 对象。
C# XML - XmlDocumentC# XML - XmlDocument CreateElement 已重载。 创建 XmlElement
C# XML - XmlDocumentC# XML - XmlDocument CreateEntityReference 创建具有指定名称的 XmlEntityReference
C# XML - XmlDocument CreateNavigator 已重载。                已重写。 创建一个用于导航此文档的新 XPathNavigator 对象。
C# XML - XmlDocumentC# XML - XmlDocument CreateNode 已重载。 创建 XmlNode
C# XML - XmlDocumentC# XML - XmlDocument CreateProcessingInstruction 创建一个具有指定名称和数据的 XmlProcessingInstruction
C# XML - XmlDocumentC# XML - XmlDocument CreateSignificantWhitespace 创建一个 XmlSignificantWhitespace 节点。
C# XML - XmlDocumentC# XML - XmlDocument CreateTextNode 创建具有指定文本的 XmlText
C# XML - XmlDocumentC# XML - XmlDocument CreateWhitespace 创建一个 XmlWhitespace 节点。
C# XML - XmlDocumentC# XML - XmlDocument CreateXmlDeclaration 创建一个具有指定值的 XmlDeclaration 节点。
C# XML - XmlDocumentC# XML - XmlDocument Equals  已重载。 确定两个 Object 实例是否相等。 (从 Object 继承。)
C# XML - XmlDocument GetElementById 获取具有指定 ID 的 XmlElement
C# XML - XmlDocumentC# XML - XmlDocument GetElementsByTagName 已重载。 返回一个 XmlNodeList,它包含与指定名称匹配的所有子代元素的列表。
C# XML - XmlDocumentC# XML - XmlDocument GetEnumerator  提供对 XmlNode 中节点上“for each”样式迭代的支持。 (从 XmlNode 继承。)
C# XML - XmlDocumentC# XML - XmlDocument GetHashCode  用作特定类型的哈希函数。GetHashCode 适合在哈希算法和数据结构(如哈希表)中使用。 (从 Object 继承。)
C# XML - XmlDocumentC# XML - XmlDocument GetNamespaceOfPrefix  查找当前节点范围内离给定的前缀最近的 xmlns 声明,并返回声明中的命名空间 URI。 (从 XmlNode 继承。)
C# XML - XmlDocumentC# XML - XmlDocument GetPrefixOfNamespace  查找当前节点范围内离给定的命名空间 URI 最近的 xmlns 声明,并返回声明中定义的前缀。 (从 XmlNode 继承。)
C# XML - XmlDocumentC# XML - XmlDocument GetType  获取当前实例的 Type。 (从 Object 继承。)
C# XML - XmlDocumentC# XML - XmlDocument ImportNode 将节点从另一个文档导入到当前文档。
C# XML - XmlDocumentC# XML - XmlDocument InsertAfter  将指定的节点紧接着插入指定的引用节点之后。 (从 XmlNode 继承。)
C# XML - XmlDocumentC# XML - XmlDocument InsertBefore  将指定的节点紧接着插入指定的引用节点之前。 (从 XmlNode 继承。)
C# XML - XmlDocumentC# XML - XmlDocument Load 已重载。 加载指定的 XML 数据。
C# XML - XmlDocumentC# XML - XmlDocument LoadXml 从指定的字符串加载 XML 文档。
C# XML - XmlDocumentC# XML - XmlDocument Normalize  将此 XmlNode 下子树完全深度中的所有 XmlText 节点都转换成“正常”形式,在这种形式中只有标记(即标记、注释、处理指令、CDATA 节和实体引用)分隔 XmlText 节点,也就是说,没有相邻的 XmlText 节点。 (从 XmlNode 继承。)
C# XML - XmlDocumentC# XML - XmlDocument PrependChild  将指定的节点添加到该节点的子节点列表的开头。 (从 XmlNode 继承。)
C# XML - XmlDocumentC# XML - XmlDocument ReadNode 根据 XmlReader 中的信息创建一个 XmlNode 对象。读取器必须定位在节点或属性上。
C# XML - XmlDocumentC# XML - XmlDocumentC# XML - XmlDocument ReferenceEquals  确定指定的 Object 实例是否是相同的实例。 (从 Object 继承。)
C# XML - XmlDocumentC# XML - XmlDocument RemoveAll  移除当前节点的所有子节点和/或属性。 (从 XmlNode 继承。)
C# XML - XmlDocumentC# XML - XmlDocument RemoveChild  移除指定的子节点。 (从 XmlNode 继承。)
C# XML - XmlDocumentC# XML - XmlDocument ReplaceChild  用 newChild 节点替换子节点 oldChild。 (从 XmlNode 继承。)
C# XML - XmlDocumentC# XML - XmlDocument Save 已重载。 将 XML 文档保存到指定的位置。
C# XML - XmlDocumentC# XML - XmlDocument SelectNodes  已重载。 选择匹配 XPath 表达式的节点列表。 (从 XmlNode 继承。)
C# XML - XmlDocumentC# XML - XmlDocument SelectSingleNode  已重载。 选择匹配 XPath 表达式的第一个 XmlNode。 (从 XmlNode 继承。)
C# XML - XmlDocumentC# XML - XmlDocument Supports  测试 DOM 实现是否实现特定的功能。 (从 XmlNode 继承。)
C# XML - XmlDocumentC# XML - XmlDocument ToString  返回表示当前 ObjectString。 (从 Object 继承。)
C# XML - XmlDocumentC# XML - XmlDocument Validate 已重载。 验证 XmlDocument 是不是 Schemas 属性中包含的 XML 架构定义语言 (XSD) 架构。
C# XML - XmlDocumentC# XML - XmlDocument WriteContentTo 已重写。 将 XmlDocument 节点的所有子级保存到指定的 XmlWriter 中。
C# XML - XmlDocumentC# XML - XmlDocument 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");//保存。