亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

asp.net操作xml(增刪查改)

2019-11-17 02:12:16
字體:
來源:轉載
供稿:網友

asp.net操作xml(增刪查改)

asp.net操作xml

1.xml文檔PRoducts.xml

 1 <?xml version="1.0" encoding="utf-8"?> 2 <products xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.pro.org/2001/products" xsi:schemaLocation="http://www.pro.org/2001/products products.xsd"> 3   <item belong="數碼"> 4     <id>1</id> 5     <name>手機</name> 6     <price>1000</price> 7   </item> 8   <item belong="服裝"> 9     <id>2</id>10     <name>男裝</name>11     <price>200</price>12   </item>13   <item belong="食品">14     <id>3</id>15     <name>黃瓜</name>16     <price>4</price>17   </item>18 </products>

2.schema約束文檔 products.xml

 1 <?xml version="1.0" encoding="utf-8"?> 2 <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.pro.org/2001/products" xmlns:pro="http://www.pro.org/2001/products" elementFormDefault="qualified"> 3   <element name="products" type="pro:pro"></element> 4   <complexType name="pro"> 5     <sequence> 6       <element name="item" maxOccurs="unbounded"> 7         <complexType> 8           <sequence> 9             <element name="id" type="string"></element>10             <element name="name" type="string"></element>11             <element name="price">12               <simpleType>13                 <restriction base="float">14                   <maxExclusive value="10000"></maxExclusive>15                   <minInclusive value="0"></minInclusive>16                 </restriction>17               </simpleType>18             </element>19           </sequence>20           <attribute name="belong" type="string"></attribute>21         </complexType>22       </element>23     </sequence>24   </complexType>25 </schema>

3.定義實體類 DBPro.cs

 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5  6 /// <summary> 7 ///DBPro 的摘要說明 8 /// </summary> 9 public class DBPro10 {11     string belong;12     string id;13     string name;14     string price;15     public DBPro(string belong,string id,string name,string price)16     {17         this.belong = belong;18         this.id = id;19         this.name = name;20         this.price = price;21     }22     public string Belong23     {24         get { return belong; }25         set { belong = value; }26     }27     public string ID28     {29         get { return id; }30         set { id = value; }31     }32     public string Name33     {34         get { return name; }35         set{name=value;}36     }37     public string Price38     {39         get { return price; }40         set { price = value; }41     }42 }

4.新建一個web窗體Defaut.aspx,在Default.aspx.cs中編寫核心代碼

  1 using System;  2 using System.Collections.Generic;  3 using System.Linq;  4 using System.Web;  5 using System.Web.UI;  6 using System.Web.UI.WebControls;  7 using System.Xml;  8   9 public partial class _Default : System.Web.UI.Page 10 { 11     protected void Page_Load(object sender, EventArgs e) 12     {   //選擇方法進行測試 13         //SearchXml(); 14         DBPro pro = new DBPro("家電","10", "電視", "3999"); 15         AddToXml(pro); 16         //UpdateOneXml(pro); 17         //DeleteXml("10"); 18     } 19     /// <summary> 20     /// 遍歷xml文檔 21     /// </summary> 22     /// <param name="pro"></param> 23     private void SearchXml() 24     { 25         //提取xml文檔 26         XmlDocument xd = new XmlDocument(); 27         xd.Load(System.Web.HttpContext.Current.Server.MapPath("Products.xml")); 28         //獲取根節點 29         XmlNode root = xd.DocumentElement; 30         //獲取節點列表 31         XmlNodeList items = root.ChildNodes; 32         //遍歷item項 33         Response.Write("<pre>"); 34         foreach (XmlNode item in items) 35         { 36          //輸出屬性 37             Response.Write(item.Attributes["belong"].Name + "=" + item.Attributes["belong"].InnerText); 38             //遍歷輸出子節點 39             foreach (XmlNode p in item) 40             { 41                 Response.Write(p.Name + "=" + p.InnerText); 42             } 43         } 44         Response.Write("</pre>"); 45     } 46     /// <summary> 47     /// xml添加 48     /// </summary> 49     /// <param name="pro"></param> 50     private void AddToXml(DBPro pro) 51     { 52         //提取xml文檔 53         XmlDocument xd = new XmlDocument(); 54         xd.Load(System.Web.HttpContext.Current.Server.MapPath("Products.xml")); 55         //獲取根節點 56         XmlNode root = xd.DocumentElement; 57         //創建元素 58         XmlElement newItem = xd.CreateElement("item"); 59         XmlElement newID = xd.CreateElement("id"); 60         XmlElement newName = xd.CreateElement("name"); 61         XmlElement newPrice = xd.CreateElement("price"); 62         //配置參數 63         newItem.SetAttribute("belong", pro.Belong); 64         newID.InnerText = pro.ID; 65         newName.InnerText = pro.Name; 66         newPrice.InnerText = pro.Price; 67         //裝配 68         root.AppendChild(newItem); 69         newItem.AppendChild(newID); 70         newItem.AppendChild(newName); 71         newItem.AppendChild(newPrice); 72         xd.Save(System.Web.HttpContext.Current.Server.MapPath("Products.xml")); 73     } 74     /// <summary> 75     /// 修改xml一項 76     /// </summary> 77     /// <param name="pro"></param> 78     private void UpdateOneXml(DBPro pro) 79     { 80         //提取xml文檔 81         XmlDocument xd = new XmlDocument(); 82         xd.Load(System.Web.HttpContext.Current.Server.MapPath("Products.xml")); 83         //獲取根節點 84         XmlNode root = xd.DocumentElement; 85         //獲取節點列表 86         XmlNodeList items = root.ChildNodes; 87         //遍歷節點列表 88         foreach (XmlNode item in items) 89         { 90             //遍歷item 91             foreach (XmlNode p in item) 92             { 93                 if (p.Name == "id" && p.InnerText == pro.ID) 94                 { 95                     item.Attributes["belong"].InnerText = pro.Belong; 96                     p.NextSibling.InnerText = pro.Name; 97                     p.NextSibling.NextSibling.InnerText = pro.Price; 98                 } 99             }100         }101     }102     /// <summary>103     /// 刪除xml一項104     /// </summary>105     /// <param name="pro"></param>106     private void DeleteXml(string id)107     {108          //提取xml文檔109         XmlDocument xd = new XmlDocument();110         xd.Load(System.Web.HttpContext.Current.Server.MapPath("Products.xml"));111         //獲取根節點112         XmlNode root = xd.DocumentElement;113         //獲取節點列表114         XmlNodeList items = root.ChildNodes;115         //遍歷節點列表116         foreach (XmlNode item in items)117         {118             //遍歷item119             foreach (XmlNode p in item)120             {121                 if (p.Name == "id" && p.InnerText == id)122                 {123                     root.RemoveChild(item);124                 }125             }126         }127     }128 }

此處應注意:用XMLDocument添加元素,遇到了這樣一個問題:當根節點具有 xmlns 屬性時,用 XMLDocument 創建子元素時如果不指定 xmlns 或指定 xmlns 為 null 時,子元素將自動具有 xmlns="" 屬性

<item belong="家電" xmlns=""> <id>10</id> <name>電視</name> <price>3999</price> </item>問題原因:

當父節點具有 xmlns 屬性時,子節點必須指定 xmlns 屬性,僅當子節點的 xmnls 屬性與父節點相同時,子節點才不顯示 xmlns 屬性,最終就不會在 .xml 文件中顯示出來

解決辦法:

XmlElement newItem = xd.CreateElement("item",xd.DocumentElement.NamespaceURI); XmlElement newID = xd.CreateElement("id",xd.DocumentElement.NamespaceURI); XmlElement newName = xd.CreateElement("name",xd.DocumentElement.NamespaceURI); XmlElement newNumber = xd.CreateElement("number",xd.DocumentElement.Name

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产丝袜一区二区三区免费视频| 国产精品视频精品视频| 国产精品678| 中文字幕成人精品久久不卡| 国产欧美精品在线播放| 久久久伊人欧美| 国产精品视频久久久| 国产精品一区二区久久| 韩国精品美女www爽爽爽视频| 91伊人影院在线播放| 亚洲欧美三级伦理| 亚洲精品国产精品乱码不99按摩| 国内成人精品视频| 国产精品678| 26uuu另类亚洲欧美日本老年| 成人h猎奇视频网站| 中文精品99久久国产香蕉| 成人午夜黄色影院| 欧美日本精品在线| 亚洲精品在线91| 欧美大全免费观看电视剧大泉洋| 国产精品久久久久久久久免费看| 国产在线观看91精品一区| 亚洲色图在线观看| 中文字幕日韩有码| 久久久久在线观看| 日韩美女中文字幕| 国产精品第七十二页| 成人性教育视频在线观看| 亚洲国产私拍精品国模在线观看| 国产精品久久久久久久久免费看| 欧美午夜片欧美片在线观看| 中文字幕亚洲第一| 精品二区三区线观看| 国产视频一区在线| 狠狠躁夜夜躁人人爽天天天天97| 欧美区二区三区| 国产91精品高潮白浆喷水| 亚洲精品美女网站| 成人福利网站在线观看| 午夜美女久久久久爽久久| 91精品国产91久久久久久久久| 国产精品美女呻吟| 国产suv精品一区二区三区88区| 欧美伦理91i| 亚洲欧美精品一区| 亚洲成人免费在线视频| 国产精品自拍视频| 2020欧美日韩在线视频| 久久久久久久久久久免费精品| 欧美精品在线极品| 中文字幕九色91在线| 久久久久久久电影一区| 亚洲qvod图片区电影| 亚洲日本欧美日韩高观看| 久久91亚洲精品中文字幕奶水| 日韩av一卡二卡| 狠狠色狠色综合曰曰| 欧美大片在线影院| 91亚洲午夜在线| 国产精品国模在线| 亚洲精品在线观看www| xx视频.9999.com| 欧美国产亚洲视频| 欧美成人午夜激情视频| 日本亚洲精品在线观看| 国产日韩欧美在线观看| 久久久久国产精品一区| 最近更新的2019中文字幕| 亚洲少妇激情视频| 国产成人亚洲综合| 久久这里只有精品99| 久久综合伊人77777| 欧美高清无遮挡| 中文字幕av一区二区三区谷原希美| 97在线日本国产| 国产精品第一页在线| 欧美日韩另类在线| 亚洲xxxx18| 国产区精品视频| 色妞在线综合亚洲欧美| 久久人体大胆视频| 91在线免费视频| 不用播放器成人网| 国产欧美在线观看| 91精品久久久久久久久不口人| 国产+人+亚洲| 国产日韩在线观看av| 国产69久久精品成人| 九九热这里只有精品免费看| 国产精品人成电影| 国外成人在线视频| 色综合伊人色综合网站| 日本欧美黄网站| 成人久久一区二区| 美女久久久久久久久久久| 国产精品美女久久久免费| 久久久亚洲福利精品午夜| 亚洲最新av网址| 国产精品一区二区久久国产| 国产亚洲欧洲黄色| 国产v综合ⅴ日韩v欧美大片| 琪琪第一精品导航| 国产精品免费久久久久久| 亚洲va码欧洲m码| 亚洲japanese制服美女| 懂色aⅴ精品一区二区三区蜜月| 国产69久久精品成人| 操人视频在线观看欧美| 8x海外华人永久免费日韩内陆视频| 国产成人精品久久二区二区91| 在线观看日韩专区| 欧美视频13p| 久久久999精品| 成人欧美一区二区三区黑人孕妇| 精品美女永久免费视频| 日韩激情片免费| 91精品视频一区| 亚洲а∨天堂久久精品9966| 国产精品久久久久久超碰| 日本三级韩国三级久久| 国产欧美日韩亚洲精品| 全球成人中文在线| 狠狠色狠狠色综合日日五| 亚洲一区二区精品| 国产亚洲成av人片在线观看桃| 在线成人激情黄色| 欧洲精品毛片网站| 欧美乱人伦中文字幕在线| 国产亚洲免费的视频看| 夜夜躁日日躁狠狠久久88av| 日韩精品在线视频| 成人性生交xxxxx网站| 国产视频久久网| 操91在线视频| 欧美日韩在线影院| 欧美福利小视频| 68精品久久久久久欧美| 欧美色另类天堂2015| 欧美最猛性xxxx| 国产成人黄色av| 成人av番号网| 欧美亚洲成人xxx| 欧美一级成年大片在线观看| 久久免费视频在线观看| 日韩欧美在线观看视频| 日韩中文字幕在线免费观看| 久久精品人人做人人爽| 国产视频观看一区| www国产亚洲精品久久网站| 国产精品96久久久久久又黄又硬| 成人国内精品久久久久一区| 中文综合在线观看| 亚洲视频专区在线| 中文字幕在线成人| 国产日韩欧美视频| 久久久999成人| 一区二区三区动漫| 91久久精品久久国产性色也91| 精品国产一区二区三区久久狼5月| 欧美激情日韩图片| 日韩欧美中文字幕在线播放| 在线亚洲男人天堂| 日韩一二三在线视频播|