• Xml基础


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Xml;
    using System.IO;

    namespace Comp.WEB.Xml
    {
    public partial class WebForm1 : System.Web.UI.Page
    {
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    //创建
    protected void btn_Click(object sender, EventArgs e)
    {
    #region 创建

    //<?xml version="1.0" encoding="utf-8"?>
    // <Books>
    // <Book>
    // <Name>红楼梦</Name>
    // <Price />
    // </Book>
    // </Books>

    // //xml 文档
    // XmlDocument doc = new XmlDocument();
    // //创建文档声明节点

    // XmlDeclaration xmlDec= doc.CreateXmlDeclaration("1.0", "utf-8", null);
    // doc.AppendChild(xmlDec);
    // //创建根节点
    // XmlElement parent = doc.CreateElement("Books");
    // doc.AppendChild(parent);
    // //Books/Book
    // XmlElement book1 = doc.CreateElement("Book");
    // parent.AppendChild(book1);

    // //Book/Name
    // XmlElement name = doc.CreateElement("Name");
    // name.InnerText = "红楼梦";
    //book1.AppendChild(name);
    // //Book/Price
    // XmlElement prizr=doc.CreateElement("Price");
    // prizr.InnerText = "10";
    // book1.AppendChild(prizr);
    // doc.Save("c:\1.xml");


    //补充
    //XmlElement book1 = doc.CreateElement("Book");
    //book1.InnerText = "<Name>红楼梦</Name><Prize>10</Prize>"; 不会转义
    //book1.InnerXml = "<Name>红楼梦</Name><Prize>10</Prize>";自动转义

    #endregion
    //创建
    XmlDocument doc = new XmlDocument();
    string path = "c:\1.xml";
    if (!File.Exists(path))
    {
    //创建声明
    XmlDeclaration xmlDec = doc.CreateXmlDeclaration("1.0", "utf-8", null);
    //添加声明
    doc.AppendChild(xmlDec);
    //创建BOOKS 节点
    XmlElement parent = doc.CreateElement("Books");
    //添加Books节点
    doc.AppendChild(parent);
    //添加Books/Book下面的节点
    XmlElement book1 = doc.CreateElement("Book");
    parent.AppendChild(book1);

    XmlElement name = doc.CreateElement("Name");
    name.InnerText = "红楼梦";
    book1.AppendChild(name);
    XmlElement Price = doc.CreateElement("Price");
    Price.InnerText = "10";
    book1.AppendChild(Price);

    }
    else
    {
    //更新
    //加载已经存在的xml文件
    doc.Load(path);
    // //获取books节点 根节点
    XmlElement parent = doc.DocumentElement;

    // //创建Book
    XmlElement book1 = doc.CreateElement("Book");

    //添加BOOk节点
    parent.AppendChild(book1);
    //添加Name 节点
    XmlElement name = doc.CreateElement("Name");
    name.InnerText = "西游记";
    book1.AppendChild(name);

    XmlElement price = doc.CreateElement("Price");
    price.InnerText = "20";
    book1.AppendChild(price);

    }


    doc.Save("c:\1.xml");


    // <?xml version="1.0" encoding="utf-8"?>
    //<Books>
    // <Book>
    // <Name>红楼梦</Name>
    // <Price>10</Price>
    // </Book>
    //</Books>

    }

    /// <summary>
    /// 创建带属性的节点
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btn2_Click(object sender, EventArgs e)
    {

    //<Order>
    // <CustomerName>nl</CustomerName>
    // <OrderNumber>BJ200888</OrderNumber>
    // <Items>
    // <OrderItem Name="电脑" Count="30"/>
    // <OrderItem Name="电视" Count="2"/>
    // <OrderItem Name="水杯" Count="20"/>
    // </Items>
    //</Order>
    XmlDocument doc = new XmlDocument();

    XmlDeclaration xmldec = doc.CreateXmlDeclaration("1.0", "utf-8", null);
    doc.AppendChild(xmldec);

    //1创建父节点Order
    XmlElement ordre = doc.CreateElement("Order");
    doc.AppendChild(ordre);
    //2创建CustomerName
    XmlElement CustomerName = doc.CreateElement("CustomerName");
    CustomerName.InnerText = "n1";
    ordre.AppendChild(CustomerName);
    //3 //创建OrderNumber
    XmlElement OrderNumber = doc.CreateElement("OrderNumber");
    OrderNumber.InnerText = "BJ200088";
    ordre.AppendChild(OrderNumber);
    ////4创建Items
    XmlElement Items = doc.CreateElement("Items");
    ordre.AppendChild(Items);
    //5//创建OrderItem
    XmlElement orderItem1 = doc.CreateElement("OrderItem");
    orderItem1.SetAttribute("Name", "电脑");
    orderItem1.SetAttribute("Count", "30");
    Items.AppendChild(orderItem1);

    XmlElement orderItem2 = doc.CreateElement("OrderItem");
    orderItem2.SetAttribute("Name", "电视");
    orderItem2.SetAttribute("Count", "1");
    Items.AppendChild(orderItem2);
    doc.Save("c:\2.xml");


    }

    /// <summary>
    /// 读取xml
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    //<Books> /// <Books>
    // <Book>
    // <Name>红楼梦</Name>
    // <Price>10</Price>
    // </Book>
    // <Book>
    // <Name>西游记</Name>
    // <Price>20</Price>
    // </Book>
    //</Books>
    protected void Unnamed1_Click(object sender, EventArgs e)
    {
    string path = "c:\1.xml";
    XmlDocument doc = new XmlDocument();
    doc.Load(path);
    //根节点 BOOKs
    XmlNode parent = doc.DocumentElement;

    XmlNodeList xnl = parent.ChildNodes; ;
    foreach (XmlNode node in xnl)
    {

    //Book
    Response.Write(node.ChildNodes[0].InnerText); //后楼梦
    Response.Write(node.ChildNodes[1].InnerText); //10

    }

    }

    //读取带属性的xml
    protected void t1_Click(object sender, EventArgs e)
    {

    // <Order>
    // <CustomerName>n1</CustomerName>
    // <OrderNumber>BJ200088</OrderNumber>
    // <Items>
    // <OrderItem Name="电脑" Count="30" />
    // <OrderItem Name="电视" Count="1" />
    // </Items>
    //</Order>
    //string path = "c:\2.xml";
    //XmlDocument doc = new XmlDocument();
    //doc.Load(path);

    //父节点 Order
    //XmlElement parent = doc.DocumentElement;
    //XmlNode items = parent.SelectSingleNode("Items");
    //foreach (XmlNode item in items.ChildNodes)
    //{
    // Response.Write(item.Attributes["Name"].Value);
    // Response.Write(item.Attributes["Count"].Value);

    //}


    //2使用 xpath 方式读取
    //string path = "c:\2.xml";
    //XmlDocument doc = new XmlDocument();
    //doc.Load(path);

    //XmlNodeList xnl = doc.SelectNodes("Order/Items/OrderItem");
    //foreach (XmlNode item in xnl)
    //{

    // Response.Write(item.Attributes[0].Value);
    // Response.Write(item.Attributes[2].Value);
    //}


    // 3 也是使用xpath 但是定位不一样
    //string path = "c:\2.xml";
    //XmlDocument doc = new XmlDocument();
    //doc.Load(path);
    //XmlNode node= doc.SelectSingleNode("Order/Items/OrderItem[@Name="电脑"]");
    // Response.Write(node.Attributes[1].Value); //30
    // //node.Attributes["Count"] = 40;
    // //doc.Save(path);

    //更新 30


    //4
    // string path = "c:\2.xml";
    // XmlDocument doc = new XmlDocument();
    // doc.Load(path);
    // XmlNode node= doc.SelectSingleNode("Order/Items");
    // Response.Write(node.InnerXml);
    //// Response.Write(node.InnerText);


    // 操作xml文件
    // XmlDocument
    // Save()
    // Load()
    // SelectSingleNode() 根据xpath找某个节点
    // SelectNodes()
    // DocumentElement 根节点

    // XmlNode
    // XmlElement
    // SetAttribute(); 设置属性
    // Attributes[].Value 读取属性
    // InnerText
    // InnerXml
    // ChildNodes

    //委托:类型安全的指向函数的指针
    //使用步骤
    // 1:声明一个委托 delegate string DelString(string s) 2:定义一个委托变量
    // DelString del = new DelString(ToUpper)
    // DelString del = ToUpper
    // 3:使用委托
    // del(s);


    }


    }
    }

  • 相关阅读:
    多线程,超时处理
    多线程,超时处理
    多线程,超时处理
    如何使用vue2搭建ElementUI框架
    pip 报错 ssl_.py:339: SNIMissingWarning: An HTTPS request has been made, but the SNI
    从单机到2000万QPS: 知乎Redis平台发展与演进之路
    OAuth2和JWT
    收集统计信息 不会更新DDL时间
    Python爬虫入门教程 8-100 蜂鸟网图片爬取之三
    Python爬虫入门教程 7-100 蜂鸟网图片爬取之二
  • 原文地址:https://www.cnblogs.com/cdaq/p/3577365.html
Copyright © 2020-2023  润新知