ASPNET类详解.docx
- 文档编号:13504713
- 上传时间:2023-06-14
- 格式:DOCX
- 页数:14
- 大小:20.50KB
ASPNET类详解.docx
《ASPNET类详解.docx》由会员分享,可在线阅读,更多相关《ASPNET类详解.docx(14页珍藏版)》请在冰点文库上搜索。
ASPNET类详解
ASP.NETXmlDocument类详解
这篇文章主要介绍了ASP.NETXmlDocument类详解,本文讲解了XmlDocument的属性、XmlDocument的方法、XmlDocument的事件、XmlDocument的使用实例等内容,需要的朋友可以参考下
XmlDocument类是.NET框架的DOC解析器。
XmlDocument将XML视为树状结构,它装载XML文档,并在内存中构建该文档的树状结构。
下面来看下XmlDocument提供了哪些功能。
一、属性:
Attributes 获取一个XmlAttributeCollection,它包含该节点的属性。
(继承自XmlNode。
)
BaseURI 获取当前节点的基URI。
(重写XmlNode..:
:
.BaseURI。
)
ChildNodes 获取节点的所有子节点。
(继承自XmlNode。
)
DocumentElement 获取文档的根XmlElement。
DocumentType 获取包含DOCTYPE声明的节点。
FirstChild 获取节点的第一个子级。
(继承自XmlNode。
)
HasChildNodes 获取一个值,该值指示节点是否有任何子节点。
(继承自XmlNode。
)
Implementation 获取当前文档的XmlImplementation对象。
InnerText 获取或设置节点及其所有子节点的串联值。
(继承自XmlNode。
)
InnerXml 获取或设置表示当前节点子级的标记。
(重写XmlNode..:
:
.InnerXml。
)
IsReadOnly 获取一个值,该值指示当前节点是否是只读的。
(重写XmlNode..:
:
.IsReadOnly。
)
Item 已重载。
LastChild 获取节点的最后一个子级。
(继承自XmlNode。
)
LocalName 获取节点的本地名称。
(重写XmlNode..:
:
.LocalName。
)
Name 获取节点的限定名。
(重写XmlNode..:
:
.Name。
)
NamespaceURI 获取该节点的命名空间URI。
(继承自XmlNode。
)
NameTable 获取与此实现关联的XmlNameTable。
NextSibling 获取紧接在该节点之后的节点。
(继承自XmlNode。
)
NodeType 获取当前节点的类型。
(重写XmlNode..:
:
.NodeType。
)
OuterXml 获取表示此节点及其所有子节点的标记。
(继承自XmlNode。
)
OwnerDocument 获取当前节点所属的XmlDocument。
(重写XmlNode..:
:
.OwnerDocument。
)
ParentNode 已重载。
Prefix 获取或设置该节点的命名空间前缀。
(继承自XmlNode。
)
PreserveWhitespace 获取或设置一个值,该值指示是否在元素内容中保留空白。
PreviousSibling 获取紧接在该节点之前的节点。
(继承自XmlNode。
)
SchemaInfo 返回节点的后架构验证信息集(PSVI)。
(重写XmlNode..:
:
.SchemaInfo。
)
Schemas 获取或设置与此XmlDocument关联的XmlSchemaSet对象。
Value 获取或设置节点的值。
(继承自XmlNode。
)
XmlResolver 设置XmlResolver以用于解析外部资源。
二、方法
AppendChild 将指定的节点添加到该节点的子节点列表的末尾。
(继承自XmlNode。
)
Clone 创建此节点的一个副本。
(继承自XmlNode。
)
CloneNode 创建此节点的一个副本。
(重写XmlNode..:
:
.CloneNode(Boolean)。
)
CreateAttribute 已重载。
创建具有指定名称的XmlAttribute。
CreateCDataSection 创建包含指定数据的XmlCDataSection。
CreateComment 创建包含指定数据的XmlComment。
CreateDefaultAttribute 创建具有指定前缀、本地名称和命名空间URI的默认属性。
CreateDocumentFragment 创建XmlDocumentFragment。
CreateDocumentType 返回新的XmlDocumentType对象。
CreateElement 已重载。
创建XmlElement。
CreateEntityReference 创建具有指定名称的XmlEntityReference。
CreateNavigator 已重载。
创建一个用于导航此文档的新XPathNavigator对象。
CreateNode 已重载。
创建XmlNode。
CreateProcessingInstruction 创建一个具有指定名称和数据的XmlProcessingInstruction。
CreateSignificantWhitespace 创建一个XmlSignificantWhitespace节点。
CreateTextNode 创建具有指定文本的XmlText。
CreateWhitespace 创建一个XmlWhitespace节点。
CreateXmlDeclaration 创建一个具有指定值的XmlDeclaration节点。
GetElementById 获取具有指定ID的XmlElement。
GetElementsByTagName 已重载。
返回一个XmlNodeList,它包含与指定名称匹配的所有子代元素的列表。
GetEnumerator 提供对XmlNode中节点上“foreach”样式迭代的支持。
(继承自XmlNode。
)
GetHashCode 用作特定类型的哈希函数。
(继承自Object。
)
GetNamespaceOfPrefix 查找当前节点范围内离给定的前缀最近的xmlns声明,并返回声明中的命名空间URI。
(继承自XmlNode。
)
GetPrefixOfNamespace 查找当前节点范围内离给定的命名空间URI最近的xmlns声明,并返回声明中定义的前缀。
(继承自XmlNode。
)
ImportNode 将节点从另一个文档导入到当前文档。
InsertAfter 将指定的节点紧接着插入指定的引用节点之后。
(继承自XmlNode。
)
InsertBefore 将指定的节点紧接着插入指定的引用节点之前。
(继承自XmlNode。
)
Load 已重载。
从Stream、URL、TextReader或XmlReader加载指定的XML数据。
LoadXml 从指定的字符串加载XML文档。
Normalize 将此XmlNode下子树完全深度中的所有XmlText节点都转换成“正常”形式,在这种形式中只有标记(即标记、注释、处理指令、 CDATA节和实体引用)分隔XmlText节点,也就是说,没有相邻的XmlText节点。
(继承自XmlNode。
)
PrependChild 将指定的节点添加到该节点的子节点列表的开头。
(继承自XmlNode。
)
ReadNode 根据XmlReader中的信息创建一个XmlNode对象。
读取器必须定位在节点或属性上。
RemoveAll 移除当前节点的所有子节点和/或属性。
(继承自XmlNode。
)
RemoveChild 移除指定的子节点。
(继承自XmlNode。
)
ReplaceChild 用newChild节点替换子节点oldChild。
(继承自XmlNode。
)
Save 已重载。
将XML文档保存到指定的位置。
SelectNodes 已重载。
SelectSingleNode 已重载。
Supports 测试DOM实现是否实现特定的功能。
(继承自XmlNode。
)
Validate 已重载。
验证XmlDocument是不是Schemas属性中包含的XML架构定义语言(XSD)架构。
WriteContentTo 将XmlDocument节点的所有子级保存到指定的XmlWriter中。
(重写XmlNode..:
:
.WriteContentTo(XmlWriter)。
)
WriteTo 将XmlDocument节点保存到指定的XmlWriter。
(重写XmlNode..:
:
.WriteTo(XmlWriter)。
)
三、事件
NodeChanged 当属于该文档的节点的Value已被更改时发生。
NodeChanging 当属于该文档的节点的Value将被更改时发生。
NodeInserted 当属于该文档的节点已被插入另一个节点时发生。
NodeInserting 当属于该文档的节点将被插入另一个节点时发生。
NodeRemoved 当属于该文档的节点已被从其父级移除时发生。
NodeRemoving 当属于该文档的节点将被从文档中移除时发生。
助记属性:
PreviousSibling 上一个兄弟节点
NextSibling 下一个兄弟节点
FirstChild 第一个子节点
LastChild 最后一个子节点
ChildNodes 子节点集合
ParentNode 父节点
代码示例:
xml文档:
复制代码代码如下:
xmlversion="1.0"encoding="utf-8"?
>
代码:
复制代码代码如下:
staticvoidMain(string[]args)
{
XmlDocumentdoc=newXmlDocument();
doc.Load(@"C:
\Users\Administrator\Desktop\ConsoleApplication1\ConsoleApplication1\Test.xml");
//先获取一个唯一的Article节点,再获取其下的第一个子节点然后再获取该节点下的属性集合
XmlAttributeCollectionxc=doc.SelectSingleNode("Article").FirstChild.Attributes;
stringage=xc[0].Value; //不过是一个定制的集合罢了,还是集合那套东西//stringage=xc["age"].Value;支持两种索引访问
Console.WriteLine(age); //输出30
stringbaseuri=doc.SelectSingleNode("Article").FirstChild.BaseURI;
Console.WriteLine(baseuri); //输出file:
///C:
\Users\Administrator\Desktop\ConsoleApplication1\ConsoleApplication1\Test.xml
XmlNodeListlistNode=doc.SelectSingleNode("Article").ChildNodes; //获取Article节点下的所有节点列表
for(inti=0;i { Console.Write(listNode[i].Name+": "+listNode[i].InnerText); //输出author: 张三length: 12000price: 30 Name获取的是限定名,也就是标记名称 } XmlElementxe=doc.DocumentElement; //获取根节点 Console.WriteLine(xe.Name); //输出Article //XmlDocumentTypexdt=doc.DocumentType; //获取包含DOCTYPE声明的节点。 应该是由DTD限定的节点。 //Console.Write(xdt.Name); //此处报未将对象引用设置到对象的实例,因为找不到有DOCTYPE声明的元素 Console.WriteLine(doc.HasChildNodes); //输出True当前Document是否包含子节点。 //XmlImplementationxi=doc.Implementation; //不懂怎么用 //xi.ToString(); Console.WriteLine(doc.InnerText); //获取当前文档的内容输出张三1200030 Console.WriteLine(doc.InnerXml); //输出整个Xml文件的字符串内容 Console.WriteLine(doc.IsReadOnly); //获取当前文档是否是只读的。 输出False XmlNodenode=doc.LastChild; Console.WriteLine(node.InnerText); //输出张三1200030 因为最后一个节点是Article节点,输出Article节点的所有内容 Console.WriteLine(doc.LocalName); //输出#document Console.WriteLine(doc.SelectSingleNode("Article").Name); //输出Article Console.WriteLine(doc.SelectSingleNode("Article").FirstChild.NextSibling.Name); //lengthauthor的下一个兄弟节点是length XmlNodeTypexnt=doc.SelectSingleNode("Article").NodeType; Console.WriteLine(xnt); //输出Element,表明该节点是元素节点 stringstr=doc.SelectSingleNode("Article").OuterXml; //此节点及其所有自己点标记,输出Article节点的所有内容 Console.WriteLine(str); XmlDocumentx=newXmlDocument(); x.LoadXml(str); Console.WriteLine(doc.SelectSingleNode("Article").OwnerDocument); //获取该节点所属的XmlDocument XmlNodexn=doc.SelectSingleNode("Article").LastChild.ParentNode; //ParentNode获取直接父节点。 Console.WriteLine(xn.Name);//输出Article Console.WriteLine(doc.PreserveWhitespace); //是否保留空白 输出False XmlNodexn1=doc.SelectSingleNode("Article").LastChild.PreviousSibling; Console.WriteLine(xn1.Name); //输出length的确是最后一个节点的前一个节点。 Console.ReadKey(); } 为了更加好的展示一些属性,现在将xml换成这样: 复制代码代码如下: xmlversion="1.0"encoding="utf-8"? > Articlexmlns: h=" --默认命名空间--> authorage="30">张三 author> length>12000 length> price>42 price> Article> 代码如下: 复制代码代码如下: staticvoidMain(string[]args) { XmlDocumentdoc=newXmlDocument(); doc.Load(@"C: \Users\Administrator\Desktop\ConsoleApplication1\ConsoleApplication1\Test.xml"); XmlNamespaceManagerxnm=newXmlNamespaceManager(doc.NameTable); xnm.AddNamespace("h"," XmlNodeArticle=doc.SelectSingleNode("h: Article",xnm); stringnamespace1=Article.InnerText; Console.WriteLine(namespace1); //输出张三1200030 Console.WriteLine(Article.Prefix); //输出h 获取当前节点的前缀 Console.WriteLine(Article.NamespaceURI); //输出 获取当前节点所在的命名空间 Console.WriteLine(Article.FirstChild.Name+"---"+Article.FirstChild.Value+"---"+Article.FirstChild.LocalName); //以上一行代码输出h: author------author //SchemaInfo返回节点的后架构验证信息集(PSVI)。 //Value获取或设置节点的值。 (继承自XmlNode。 ) //XmlResolver设置XmlResolver以用于解析外部资源。 Console.ReadKey(); } 再来一个展示一下Schemas这个常用的属性 复制代码代码如下: staticvoidMain(string[]args) { XmlDocumentdoc=newXmlDocument(); //创建文档 doc.Schemas.Add(null,@"C: \Users\Administrator\Desktop\ConsoleApplication1\ConsoleApplication1\person.xsd"); //添加一个架构对象到本XmlDocument doc.Load(@"C: \Users\Administrator\Desktop\ConsoleApplication1\ConsoleApplication1\person.xml"); //加载xml文件 Console.W
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ASPNET 详解