C# XML添加删除/SelectNodes/xpath
生活随笔
收集整理的這篇文章主要介紹了
C# XML添加删除/SelectNodes/xpath
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
SelectNodes中的XPath
//從當前節點的兒子節點中選擇名稱為 item 的節點。 SelectNodes("item")//從根節點的兒子節點中選擇名稱為 item 的節點。 SelectNodes("/item")// 從任意位置的節點上選擇名稱為 item 的節點。要重點突出這個任意位置,它不受當前節點的影響,也就是說假如當前節點是在第 100 層(有點夸張),也可以選擇第一層的名稱為 item 的節點。 SelectNodes("//item")// 在 SelectNodes("//item") 的基礎上,增加了一個限制,就是要求擁有 name 屬性。 SelectNodes("//item[@name]")// 在 SelectNodes("//item[@name]") 的基礎上,增加了一個限制,就是要求 name 屬性值為 111。注意語法中有引號;如果沒有引號,則表示是數字類型,對于數字類型可以使用大于號、小于號等,比如:SelectNodes("//item[@v>333]")。 SelectNodes("//item[@name='111']")//*******進階版************** // 模糊匹配 // 使用contains, 表示label屬性內容包含caseSuite變量內容 string xpathStr = string.Format(@"//TestSuite[contains(@label,'{0}')]", caseSuite); XmlNodeList removeSuiteInfoList = suiteListNode.SelectNodes(xpathStr);// 可以邏輯運算 /Root//Person[contains(Blog,'cn') and contains(@ID,'01')]SelectNodes
如果xml里沒有“xxx”節點,nodeList.Count會返回0,而不是null或error
XmlDocument xmlDocument = new XmlDocument();xmlDocument.Load(@"test.xml");XmlNodeList nodeList = xmlDocument.SelectNodes(@"//UnitTest/XXX");Console.WriteLine(nodeList.Count.ToString());Console.ReadKey();?
xml文件創建與保存
XmlDocument planDoc = new XmlDocument();planDoc.AppendChild(planDoc.CreateXmlDeclaration("1.0", "UTF-8", null));//創建根目錄 XmlElement planRoot = planDoc.CreateElement(PlanSuiteList);//保存至PlanFullName planDoc.Save(PlanFullName);?
創建節點以及添加屬性
//創建節點 XmlElement memberTestSuite = planDoc.CreateElement(TestSuite); //設置屬性 memberTestSuite.SetAttribute(EachFlowLabel, label);//創建子節點 XmlElement childName = planDoc.CreateElement(EachFlowName); childName.InnerText = suiteName;//子節點添加memberTestSuite.AppendChild(childName);//添加到根節點 planRoot.AppendChild(memberTestSuite);//根節點添加到xml文件planDoc.AppendChild(planRoot);// xmlnode 添加節點 XmlNode projectInfoNode = projectInfoDocument.SelectSingleNode(@"//ProjectInfo"); XmlElement newNodeElement = projectInfoDocument.CreateElement(nodeName); newNodeElement.InnerText= testerNode.InnerText;projectInfoNode.AppendChild(newNodeElement);?
刪除節點
//刪除子節點 XmlNode suiteListNode = planDocument.SelectSingleNode(@"//PlanSuiteList");suiteListNode.RemoveChild(suiteNode);?
參考:https://blog.csdn.net/nnn_net/article/details/69584358
總結
以上是生活随笔為你收集整理的C# XML添加删除/SelectNodes/xpath的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: django09: ORM以及CSRF(
- 下一篇: C# 字符串操作:split、subst