zoukankan      html  css  js  c++  java
  • XML 树操作 语法

    using System;
    using System.Net;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Documents;
    using System.Windows.Ink;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Animation;
    using System.Windows.Shapes;
    using System.Linq;
    using System.Xml.Linq;
    using System.IO;
    
    namespace LinktoXml.Class
    {
        public class XmlTreeOperator
        {
            XElement root = null;
    
            public XmlTreeOperator()
            {
                 root = new XElement("BookList",
                                            new XElement("book",
                                                new XAttribute("name", "english"),
                                                new XAttribute("type", "education"),
                                                new XElement("author", "zhangweia"),
                                                new XElement("price", "20")),
                                            new XElement("book",
                                                new XAttribute("name", "math"),
                                                new XAttribute("type", "education"),
                                                new XElement("author", "zhangweib"),
                                                new XElement("price", "30")));
            }
    
            #region ---XmlLoad---
            /*
             *    public static XElement Load(String url);
             *    public static XElement Load(TextReader textReader);
             *    public static XELement load(XmlRead xmlRead);
             */
            public void XmlLoad()
            {
                root = XElement.Load("XMLFile1.xml");
            }
            #endregion
    
            #region ---XmlNodeAdd---
            /*               子节点的增加
             *   add(): 在当前节点子节点的末尾添加内容
             *      public void Add(Object content);
             *      public void Add(params Object[] content);
             *   AddFirst(): 用于在当前节点的第一个子节点之前添加内容
             *      public void AddFirst(Object content);
             *      public void AddFirst(params Object[] content);
             *      
             *               同级节点的增加
             *   AddAfterSelf():用于在当前节点的后面添加内容
             *      public void AddAfterSelf(Object content);
             *      public void AddAfterSelf(params Object[] content);
             *  AddBeforeSelf():用于在当前节点的前面添加内容
             *      public void AddBeforeSelf(Object content);
             *      public void AddBeforeSelf(params Object[] content);
             */
    
            public void XmlSubNode_Add()
            {
                XElement oneX = new XElement("book",
                                                new XAttribute("name","txl"));
                XElement twoX = new XElement("book",
                                                new XAttribute("name", "txl1"));
                root.Add(oneX,twoX);
                //root.Add(oneX);
                MessageBox.Show(root.ToString());
            }
    
            public void XmlSubNode_AddFirst()
            {
                XElement oneX = new XElement("book",
                                                new XAttribute("name", "txl"));
                XElement twoX = new XElement("book",
                                                new XAttribute("name", "txl1"));
                root.AddFirst(oneX, twoX);
                /*params object is sql function*/
              //  root.Elements("book").Last().AddFirst(from ele in root.Elements("book") select ele);
    
                MessageBox.Show(root.ToString());
            }
    
            public void XmlNode_AddAfterSelf()
            {
                XElement xet = root.Elements("book").First(); /*获得第一个子节点*/
                XElement oneX = new XElement("book",
                                                new XAttribute("name", "txl"));
                xet.AddAfterSelf(oneX);
    
                MessageBox.Show(root.ToString());
            }
    
            public void XmlNode_AddBeforeSelf()
            {
                XElement xet = root.Elements("book").Last(); /*获得第后一个子节点*/
                XElement oneX = new XElement("book",
                                                new XAttribute("name", "txl"));
                xet.AddBeforeSelf(oneX);
    
                MessageBox.Show(root.ToString());
            }
            #endregion
    
            #region  --XmlRemove
            /*
             *    public void RemoveAll()  //删除子节点和属性,保持标签名
             *    public void RemoveAttribute() //移除节点的所有属性
             *    
             *    public void Remove()     //移除掉整个节点
             *    
             */
            public void Xml_RemoveAll()
            {
                root.RemoveAll();
                MessageBox.Show(root.ToString());
            }
    
            public void Xml_Remove()
            {
                root.Elements("book").First().Remove();
                MessageBox.Show(root.ToString());
            }
    
            #endregion
    
        }
    }
    

  • 相关阅读:
    文件中的类都不能进行设计,因此未能为该文件显示设计器。设计器检查出文件中有以下类: FormMain --- 未能加载基类“WinForm.Win.FormsBase.FormMainBase”。请确保已引用该程序集并已生成所有项目
    Xcopy命令参数使用介绍
    c#生成方案里预生成拷贝文件
    visual studio 2010 出现问题,不能设置断点调试了,一运行就未响应,然后程序退出
    开启Visual Studio 2013时,出现Microsoft.VisualStudio.Web.PasteJson.JsonPackage无法载入的可能解決方案
    Java开发知识之XML文档使用,解析
    JAVA开发知识之Java的线程
    git版本控制工具的使用
    Java开发知识之Java的正则表达式
    PC逆向之代码还原技术,第一讲基本数据类型在内存中的表现形式.浮点,指针寻址公式
  • 原文地址:https://www.cnblogs.com/zhangweia/p/1944923.html
Copyright © 2011-2022 走看看