惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 三生石上(FineUI控件)
雷峰网
雷峰网
爱范儿
爱范儿
P
Proofpoint News Feed
Security Archives - TechRepublic
Security Archives - TechRepublic
Latest news
Latest news
The Hacker News
The Hacker News
Cyberwarzone
Cyberwarzone
博客园 - 【当耐特】
Project Zero
Project Zero
小众软件
小众软件
T
Tailwind CSS Blog
量子位
博客园 - 聂微东
I
Intezer
美团技术团队
S
SegmentFault 最新的问题
T
Tor Project blog
Spread Privacy
Spread Privacy
V
Vulnerabilities – Threatpost
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Jina AI
Jina AI
罗磊的独立博客
B
Blog RSS Feed
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
T
Troy Hunt's Blog
有赞技术团队
有赞技术团队
Google DeepMind News
Google DeepMind News
宝玉的分享
宝玉的分享
C
Cisco Blogs
L
LINUX DO - 热门话题
Last Week in AI
Last Week in AI
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
AI
AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Microsoft Azure Blog
Microsoft Azure Blog
L
LINUX DO - 最新话题
Know Your Adversary
Know Your Adversary
GbyAI
GbyAI
Engineering at Meta
Engineering at Meta
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Recent Commits to openclaw:main
Recent Commits to openclaw:main
L
Lohrmann on Cybersecurity
The Register - Security
The Register - Security
L
LangChain Blog
博客园 - 叶小钗
T
Tenable Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC

博客园 - Arishuang

数据类型 varchar 和 varchar 在 modulo 运算符中不兼容。 ASP.NET2.0_多语言本地化应用程序 ASP.NET2.0_缓存 ASP.NET2.0_执行页面发送的强类型方法与弱类型方法 ASP.NET中的状态管理功能详解(转载) [ASP.NET] Session 详解(转载) ASP.NET页面下载功能程序(转载) vs2005中“密码最短长度为7,其中必须包含以下非字母数字字符: 1”错误 (转载) ASP.NET中实现页面间的参数传递 QueryString\Application\Session\Cookie (转载) - Arishuang ASP.NET页面跳转的几种方法(转载) 常用正则表达式(转载) C#_解决在控制台中输入Ctrl+Z的问题 C#格式化输出(转载) C#格式化输出 面试题之金山_函数练习3_数值转换并输出数值中各个数字的个数(从低位到高位,输出转换后数值的各个数字个数) 面试题之金山(函数练习2)_字符排序(字母、数字及其它字符)ParseString DS_汉诺塔 观书后感之"NET Web Services:架构与实现 (美)贝列哲 "2008-5-2 下定决心,认定了,就全力以赴.Web应用程序开发--跟你杠上了
XML_(3)_用C#操作缓存中的XML即DOM
Arishuang · 2008-05-03 · via 博客园 - Arishuang

              用DOM来处理XML是有点强大,不过,在以下三种情况中不适合用DOM.一:读取XML时,应用XmlTextReader或XmlValidatingReader;  二:查询XML,应用XPathDocument;  三:XML转换,应用XslTransform.

              用C#来处理DOM主要的几个步骤如下:
一、先声明一XmlDocument对象并装载XML文件或片段;
      XmlDocument doc=new XmlDocument(); --不要忘记了导入System.Xml哦
      doc.load("test.xml");
      --doc.loadXml("<book>abc</book>");

二、再声明一XmlElement变量对象并用doc.DocumentElement来赋值(得到XML文件的根元素不是根节点)
      XmlElement root=doc.DocumentElement();

三、这样我们就可以进行查找节点再进行相应的操作了:

      1)、查找单个节点可有两种方法,一种是:用Get系列方法,如GetFirstChild(),另一种方法是SelectSingleNode("相应的XPath字符串");

      2)、也可查找节点集有两个对象XmlNodeList与XmlNamedNodeMap,共五种方法:
             前者用得比较多,而后者是处理无序节点集多处理Xml片段

           //方法一
           //XmlNodeList el=n.ChildNodes;    得到n的所有子节点集

          //方法二
          //XmlNodeList el=n.SelectNodes("book");

         //方法三
         //   XmlElement rootEle=doc.DocumentElement;
         //   XmlNodeList el=rootEle.GetElementsByTagName("book");

         //方法四
         //XmlNodeList el=doc.GetElementsByTagName("book");
         
         //方法五
         //略
   
         3)、可用以下三种方法来循环处理节点集
         方法一:
           foreach(XmlElement ele in el)
           {
             MessageBox.Show(ele.OuterXml);  
           }

          方法二:

for(int i=0;i<el.Count;i++)
         {
               MessageBox.Show(el[i].OuterXml);
         }

         方法三:

System.Collections.IEnumerator IE=doc.GetElementsByTagName("book").GetEnumerator();
                                          --由上面的GetEnumerator(); 返回 Collections.IEnumerator 对象       
        XmlElement CurrentElement;
        while(IE.MoveNext())
        {
               CurrentElement=(XmlElement)IE.Current;--此处要把类型为object的Current转为Xmlelement
               MessageBox.Show(CurrentElement.OuterXml);
        }

四、创建新节点
        主要的步骤如下:
               1)、用XmlDocument对象并用XML填充其
               2)、确定要插入的位置并定位到此位置
               3)、创建节点(其实也可为:Element、Attribute、Text、Comment、CDATA或Processing  
                       Instruction)
               4)、再在XmlDocment对象中添加节点
                      (注意:添加节点只有三种方法而已。AppendChild()、InsertBefore()还有InsertAfter();)
        一:创建元素节点
              XmlElement elem=doc.CreateElement("price");
              XmlElement(对象)。InnerText();
              XmlNode(对象)。CreateTextNode();

        二:为元素节点设置属性
              SetAttribute()此方法是有则改,无则创.
   
        三:创建其他类型的节点
              XmlDocument.CreateComment()方法进行注释节点
              XmlDocument.CreateCDataSection()
              XmlDocument.CreateProcessingInstruction()

五、修改和删除节点
              ReplaceChild();
              SetAttribute();

              RemoveChild();
              RemoveAttribute();
              RemoveAll();

       嗯,第6章就这样了,感觉还可以,就是要记住一些方法和参数。

Don't dream it,Be it!