欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【ASP.NET XmlDocument类详解】,下面是详细的讲解!
ASP.NET XmlDocument类详解
static void Main(string[] args)
{
XmlDocument doc=new XmlDocument(); //创建文档
doc.Load(@"C:\Users\Administrator\Desktop\ConsoleApplication1\ConsoleApplication1\Test.xml"); //加载xml文件
XmlNode node1=doc.CreateNode(XmlNodeType.Element, "pagecount", null);
node1.InnerText="222";
doc.SelectSingleNode("/bookstore").AppendChild(node1); //执行之后 <pagecount>222</pagecount>元素被添加到</bookstore>前面
doc.Save(@"D:\123.xml");
XmlNode node2=doc.SelectSingleNode("/bookstore/book[1]/title[1]").Clone(); //克隆一个节点出来
Console.WriteLine(node2.InnerText); //输出三国演义
XmlNode node3=doc.SelectSingleNode("/bookstore/book[1]/title[1]").CloneNode(true); //参数决定是否克隆子节点数(如果false,文本节点也不克隆)
Console.WriteLine(node3.InnerText); //输出三国演义
XmlAttribute attr=doc.CreateAttribute("age"); //创建一个age属性
attr.Value="23";
doc.SelectSingleNode("/bookstore/book[1]/author[1]").Attributes.Append(attr); //执行之后第一个作者变为 <author age="23">罗贯中</author>
doc.Save(@"D:\123.xml");
XmlCDataSection cdata=doc.CreateCDataSection("我&你");
doc.SelectSingleNode("/bookstore/book[1]/author[1]").AppendChild(cdata); //执行之后author变为<author age="23">罗贯中<![CDATA[我&你]]></author>
doc.Save(@"D:\123.xml");
XmlComment com=doc.CreateComment("2013-2-27 22:37:25");
doc.SelectSingleNode("/bookstore/book[1]/title[1]").AppendChild(com); //执行之后title变为<title lang="属性1">三国演义<!--2013-2-27 22:37:25--></title>
doc.Save(@"D:\123.xml");
XmlDocument doc1=new XmlDocument();
XmlDocumentFragment xdf=doc1.CreateDocumentFragment(); //一个xml片段,这个类敢情好用
xdf.InnerXml="<item>widget</item>";
doc1.AppendChild(xdf);
Console.WriteLine(doc1.OuterXml); //输出<item>widget</item>
//CreateDefaultAttribute 创建具有指定前缀、本地名称和命名空间 URI 的默认属性。
//CreateDocumentType 返回新的 XmlDocumentType 对象。
XmlDocument doc2=new XmlDocument();
XmlElement element=doc2.CreateElement("title"); //创建一个title 如果现在保存是输出<title/> 因为还没有内容
doc2.AppendChild(element);
XmlEntityReference xer=doc2.CreateEntityReference("h");
doc2.LastChild.AppendChild(xer);
Console.WriteLine(doc2.OuterXml); //输出</title>&h;</title>
XPathNavigator nav=doc2.CreateNavigator(); //一个通过光标的导航模型遍历XML文档的数据
XmlText text=doc2.CreateTextNode("你好啊"); //创建一个文本节点
doc2.SelectSingleNode("/title").AppendChild(text);
Console.WriteLine(doc2.OuterXml); //输出</title>&h;你好啊</title>
XmlWhitespace xws=doc2.CreateWhitespace(" "); //创建一个空白节点
doc2.SelectSingleNode("/title").AppendChild(xws);
Console.WriteLine(doc2.OuterXml); //输出</title>&h;你好啊 </title>
XmlDeclaration xd=doc2.CreateXmlDeclaration("1.0", "utf-8", "yes"); //xml头 XML声明部分
XmlNode root=doc2.SelectSingleNode("/title");
doc2.InsertBefore(xd, root);
Console.WriteLine(doc2.OuterXml); //执行之后 在头部加入了<?xml version="1.0" encoding="utf-8" standalont="yes"?>
XmlSignificantWhitespace xsw=doc2.CreateSignificantWhitespace(" ");
XmlElement ele=doc2.CreateElement("white");
ele.InnerText="空白啊空白";
ele.AppendChild(xsw);
doc2.SelectSingleNode("/title").AppendChild(ele);
Console.WriteLine(doc2.OuterXml); //还是添加一大堆空白,不知道与CreateWhitespace有什么区别
XmlDocument doc3=new XmlDocument();
String PItext="type='text/xsl' href='book.xsl'";
XmlProcessingInstruction newPI=doc3.CreateProcessingInstruction("xml-stylesheet", PItext);
doc3.AppendChild(newPI);
Console.WriteLine(doc3.OuterXml); //输出 <?xml-stylesheet type="text/xsl" hred="book.xsl"?>
//GetElementById 获取具有指定 ID 的 XmlElement。
//GetElementsByTagName 已重载。 返回一个 XmlNodeList,它包含与指定名称匹配的所有子代元素的列表。
//GetEnumerator 提供对 XmlNode 中节点上“for each”样式迭代的支持。 (继承自 XmlNode。)
//GetNamespaceOfPrefix 查找当前节点范围内离给定的前缀最近的 xmlns 声明,并返回声明中的命名空间 URI。 (继承自 XmlNode。)
//GetPrefixOfNamespace 查找当前节点范围内离给定的命名空间 URI 最近的 xmlns 声明,并返回声明中定义的前缀。 (继承自 XmlNode。)
//ImportNode 将节点从另一个文档导入到当前文档。
//InsertAfter 将指定的节点紧接着插入指定的引用节点之后。 (继承自 XmlNode。)
//InsertBefore 将指定的节点紧接着插入指定的引用节点之前。 (继承自 XmlNode。)
//LoadXml 从指定的字符串加载 XML 文档。
//Normalize 将此 XmlNode 下子树完全深度中的所有 XmlText 节点都转换成“正常”形式,在这种形式中只有标记(即标记、注释、处理指令、 CDATA 节和实体引用)分隔 XmlText 节点,也就是说,没有相邻的 XmlText 节点。 (继承自 XmlNode。)
//PrependChild 将指定的节点添加到该节点的子节点列表的开头。 (继承自 XmlNode。)
//ReadNode 根据 XmlReader 中的信息创建一个 XmlNode 对象。读取器必须定位在节点或属性上。
//RemoveAll 移除当前节点的所有子节点和/或属性。 (继承自 XmlNode。)
//RemoveChild 移除指定的子节点。 (继承自 XmlNode。)
//ReplaceChild 用 newChild 节点替换子节点 oldChild。 (继承自 XmlNode。)
//Supports 测试 DOM 实现是否实现特定的功能。 (继承自 XmlNode。)
//Validate 已重载。 验证 XmlDocument 是不是 Schemas 属性中包含的 XML 架构定义语言 (XSD) 架构。
//WriteContentTo 将 XmlDocument 节点的所有子级保存到指定的 XmlWriter 中。 (重写 XmlNode..::.WriteContentTo(XmlWriter)。)
//WriteTo 将 XmlDocument 节点保存到指定的 XmlWriter。 (重写 XmlNode..::.WriteTo(XmlWriter)。)
Console.ReadKey();
}
关于ASP.NET XmlDocument类详解的用户互动如下:
相关问题:用ASP。NET生成上面这个XML怎么写?
答:using System.Xml; // 创建一个 XML 文档 XmlDocument xmlDoc = new XmlDocument(); // 添加XML声明 XmlDeclaration xmlDeclaration=xmlDoc .CreateXmlDeclaration("1.0", "", "yes"); xmlDoc.PrependChild ( xmlDeclaration ); // 添加根元素 X... >>详细
相关问题:asp.net(C#)如何用globalization实现多语言转换?
答:#region Language Operation /// /// 设置app.config中的Language的value. /// /// key /// value public void SetLanguageValue(string AppKey, string AppValue) { XmlDocument xDoc = new XmlDocument(); string configpath = System.Reflect... >>详细
相关问题:请教ASP.Net C#微信开发后台程序
答:代码没什么问题,自己调试一下,这个不能在本地加断点,只能在服务器写日志,跟踪以下几个值:inputsream、msgtype、event,查看它们的值,应该能发现问题。 >>详细
- 【asp】asp.net url重写浅谈-net-url重写
- 【DataSet】DataSet、DataTable、DataRow区别详解
- 【asp】asp.net 动态添加多个用户控件-net-动态添
- 【ASP】ASP.NET中内嵌页面代码的一个问题-NET-内
- 【As】Asp.net中的页面乱码的问题-sp--pn-ne-et
- 【增加记录】asp.net中获取新增加记录的ID Access
- 【创建】ASP.NET Web API教程 创建域模型的方法详
- 【Asp】Asp.net 页面调用javascript变量的值-net-
- 【ASP】ASP.NET 5升级后如何删除旧版本的DNX-NET5
- 【404页面】ASP.NET设置404页面返回302HTTP状态码
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
