XmlElement
来源:互联网 发布:cisco端口聚合命令 编辑:程序博客网 时间:2024/05/14 07:31
管理XML元素的类:XmlElement类
XmlElement类表示DOM结构中的元素。元素是DOM结构中最常见的节点。该类型继承于XMLNode类的子类XmlLinkNode类,继承了XmlNode的特点,同时还提供了XML数据中针对于元素的一些方法和属性,以便更好地反映元素节点的特征,以及更便捷地操作元素。
该类除继承XmlNode的特征以外,最重要的特征,和其他XmlNode类派生类不同的地方就是其元素拥有自己的属性集合。XmlElement类为此提供了多种对于属性的访问手段。例如:可以使用GetAttribute方法获取指定的属性,可以使用SetAttribute设置指定的属性,可以使用RemoveAttribute移除指定的属性,可以使用GetAttributeNode获取属性节点,还可以直接通过访问该类的Attribute属性获得元素的属性列表——该列表支持索引值和名称两种访问指定属性的手段。
语法定义:
public class XmlElement : XmlLinkedNode
因为XmlElement类的构造函数是受保护的,所以不能使用其创建XmlElement类的实例。一般采用的做法是在XmlDocument类实例中,使用CreateElement方法创建XmlElement类的实例。下面的代码演示了使用不同的方法建立XmlElement的实例:
//使用指定的名称创建XmlElement类的实例XmlElement elm = new XmlDocument().CreateElement("newelement");//使用元素的限定名和元素命名空间URL创建XmlElement类的实例XmlElement elm = new XmlDocument().CreateElement("abc:code","urlname:newelm");//使用元素前缀、元素本地名称和元素命名空间URL创建XmlElement类的实例XmlElement elm = new XmlDocument().CreateElement("xy","item","urlname:abc");
方法:
XmlElement类提供了一系列方法来对XML文档对象进行操作。主要方法如下:
AppendChild:将指定的节点添加到当前元素的子节点列表的末尾
Clone:克隆当前元素实例
CloneNode:克隆当前元素实例,该方法与Clone方法的区别在于,CloneNode能够通过指定bool deep参数的值,来决定是否克隆当前元素的子节点。
CreateNavigator:创建浏览当期元素的XpathNavigator
GeAttribute:获取当前元素的指定属性的属性值
GetAttributeNode:获取当前元素指定的属性节点
GetElementsByTagName:包含指定名称元素所有子节点的列表
HasAttribute:获取指示当前节点是否具有指定的属性值
InsertAfter:在指定元素之后插入节点
InsertBefore:在指定元素之前插入节点
PrependChild:在指定元素的子节点列表开头添加节点
RemoveAll:移除除了默认属性以外当前元素的所有指定属性的子节点
RemoveAllAttributes:移除除了默认属性以外的所有属性
RemoveAttribute:移除指定的属性
RemoveAttributeAt:从元素中移除指定位置的属性
RemoveAttributeNode:移除指定的XmlAttribute节点
RemoveChild:从节点列表中删除指定的子节点
ReplaceChild:使用新的节点替换原有的节点
SelectNodes:根据XPath表达式,获得符合条件的节点列表
SelectSingleNode:根据XPath表达式,获得符合条件的第一个节点
SetAttribute:指定属性的值
SetAttributeNode:向当前元素添加属性
WriteContentTo:使用指定的XmlWriter类实例保存当前元素的所有子节点
WriteTo:使用指定的XmlWriter保存当前元素
属性详解:
Attitudes:获取包含当前元素属性的列表
BaseURI:获取当前元素的基URI
ChildNodes:获取当前元素的所有子节点
FirstChild:获取当前元素的第一个子节点
HasAttributes:获取指示当前元素是否有任何属性值
HasChildNodes:获取指示当前元素是否有任何子节点的值
InnerText : 获取或指定当前元素及其所有子节点的串联值
InnerXml:获取或指定包含当前元素内所有子节点的、包含结构标志的XML文本
IsEmpty:获取或指定元素是否以短标记格式序列化元素的值
IsReadOnly:获取指示当前元素是否是只读的值
Item:获取当前元素指定的子元素
LastChild:获取当前元素的最后一个子节点
LocalName:获取当前元素的本地名称
Name:获取当前元素的限定名
NamespaceUri:获取当前元素的命名空间URI
NextSibling : 获取紧接在当前元素后一个同级节点
NodeType:获取当前元素的节点类型
OuterXml:获取表示当前元素及其所有子节点的XML文本
OwnerDocument:获取当前元素所属的XmlDocument
ParentNode:获取当前节点的父节点
Prefix:获取或指定当前元素的命名空间前缀
PreviousSibling:获取紧接当前元素的前一个同级节点
Value:获取或指定当前元素的值
应用:XML元素的添加、修改和删除
利用XmlElement类提供的对元素结构描述和操作的功能,可以方便地对XML数据中的元素进行操作,包括元素的添加,以及删除和修改其内容。XmlElement类的主要特征是关于元素本身属性的一系列属性和方法。
1、编写一个XML文件,命名为“Book.xml”,并保存到指定的路径中。内容如下:
<?xml version="1.0"?><store> <book id="1" genre="novel" publicaiondate="1997" isbn="1-86001-57-5"> <title>Pride And Prejudice</title> <price>24.95</price> </book> <book id="2" genre="business" publicationdate="2003" isbn="4-746623-03-2" > <title>Custumor Manager</title> <price>31.44</price> </book></store>
2、新建一个Windows控制台应用程序,命名为"EditElement",在Main方法中编写主程序,代码如下:
static void Main(string[] args){ XmlDocument doc = new XmlDocument(); doc.Load(@"C:\book.xml"); XmlElement root = doc.DocumentElement; //创建并添加XmlElement实例到XmlDocument类实例中 XmlElement elm = doc.CreateElement("Author"); elm.InnerText ="Jane"; root.SelectSingleNode("/store/book[@id=1]").AppendChild(elm); Console.WriteLine(elm.ParentNode.InnerXml); //修改XmlElement类实例的属性 XmlElement newelm = doc.CreateElement("Author"); XmlAttribute attr = doc.CreateAttribute("firstname"); attr.Value = "Jane"; newelm.SetAttributeNode(attr); root.SelectSingleNode("/store/book[@id=1]").ReplaceChild(newelm,elm); Console.WriteLine(newelm.ParentNode.InnerXml); //删除XmlElement类实例 root.SelectSingleNode("/store/book[@id=1]").RemoveChild(newelm); Console.WriteLine(root.SelectSingleNode("/store/book[@id=1]").InnerXml); Console.ReadLine();}
XPath的学习: http://www.w3school.com.cn/xpath/
- XmlElement
- Traverse XmlElement
- Xml.Serialization.XmlElement
- XmlNode与XmlElement区别
- Annotations @XmlElement, @XmlRootElement @XmlTransient
- XmlNodelei和XmlElement类
- 【xml】XmlNode vs XmlElement
- @XmlElement与@XmlAttribute区别
- XMLElement,XMLDocument 用法
- XMLElement,XMLDocument 用法
- XmlNode 和 XmlElement 的区别
- convert a string to XmlElement
- oracle 对xmlelement的操作
- XmlNode和XmlElement的区别
- XmlElement与XmlNode的区别
- xmlNode 和 xmlElement 的区别
- XmlNode与XmlElement的区别
- XmlDocument,XmlNode,XmlElement创建复杂XML文档
- 常用的验证
- HTML5 APIs程序员指南
- java7新特性之Try-with-resources statement
- Effective C++读书笔记(11)
- zoj 1500 Pre-Post-erous!
- XmlElement
- 黑马程序员之<marquee>标记的使用(学习整理)
- POJ 2676 3074 3076 数独3题 Dancing Links
- 回京
- 简单几步教你实现移动硬盘PE、装win7/vista! 一盘在手,系统无忧!
- 互联网行业十大成长性排名:网络游戏垫底
- [转]四年Java 一个java程序员的年终总结
- REST软件架构
- 计算机组成