就是对XML文件的创建,节点的选择,修改,删除,将XML转换为DataSet, Xpath等等的,因为是上课用的例题,所以比较全
具体效果如下 ,因为是上课用的例题,所以比较全
广告列表 | 功能选项 | ||||||||
|
Name | Image | Alink |
---|---|---|
阿里妈妈广告 | ~/image/aaa.gif | http://www.thc56.com/bbs |
天轰穿的淘宝小店 | ~/image/fdfd.jpeg | http://shop.thc56.com/ |
前台代码如下
1<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
2
3<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4
5<html xmlns="http://www.w3.org/1999/xhtml">
6<head runat="server">
7 <title>无标题页</title>
8 <style type="text/css">
9 .style1
10 {}{
11 width: 173px;
12 }
13 .style2
14 {}{
15 width: 173px;
16 height: 26px;
17 }
18 .style4
19 {}{
20 }
21 .style5
22 {}{
23 width: 103px;
24 }
25 .style6
26 {}{
27 height: 26px;
28 width: 475px;
29 }
30 .style7
31 {}{
32 width: 475px;
33 }
34 </style>
35</head>
36<body>
37 <form id="form1" runat="server">
38 <div style="width: 698px; height: 214px">
39
40 <table style="width: 101%; height: 206px;">
41 <tr>
42 <td class="style2">
43 广告列表</td>
44 <td class="style6">
45 功能选项</td>
46 </tr>
47 <tr>
48 <td class="style1">
49 <asp:ListBox ID="ListBox1" runat="server" AutoPostBack="True" Height="166px"
50 onselectedindexchanged="ListBox1_SelectedIndexChanged" Width="182px">
51 </asp:ListBox>
52 </td>
53 <td class="style7">
54 <table style="width: 100%;">
55 <tr>
56 <td class="style5">
57 广告名字:</td>
58 <td>
59 <asp:TextBox ID="tb_name" runat="server" Width="330px"></asp:TextBox>
60 </td>
61 </tr>
62 <tr>
63 <td class="style5">
64 广告图片:</td>
65 <td>
66 <asp:TextBox ID="tb_img" runat="server" Width="329px"></asp:TextBox>
67 </td>
68 </tr>
69 <tr>
70 <td class="style5">
71 链接网址:</td>
72 <td>
73 <asp:TextBox ID="tb_link" runat="server" Width="329px"></asp:TextBox>
74 </td>
75 </tr>
76 <tr>
77 <td align="center" class="style4" colspan="2">
78 <asp:Button ID="Button4" runat="server" onclick="Button4_Click" Text="创建XML文件" />
79
80 <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="添加" />
81
82 <asp:Button ID="Button2" runat="server" onclick="Button2_Click" Text="修改" />
83
84 <asp:Button ID="Button3" runat="server" onclick="Button3_Click" Text="删除" />
85 </td>
86 </tr>
87 </table>
88 </td>
89 </tr>
90 </table>
91
92 </div>
93 <asp:GridView ID="GridView1" runat="server" BackColor="White"
94 BorderColor="#3366CC" BorderStyle="None" BorderWidth="1px" CellPadding="4">
95 <FooterStyle BackColor="#99CCCC" ForeColor="#003399" />
96 <RowStyle BackColor="White" ForeColor="#003399" />
97 <PagerStyle BackColor="#99CCCC" ForeColor="#003399" HorizontalAlign="Left" />
98 <SelectedRowStyle BackColor="#009999" Font-Bold="True" ForeColor="#CCFF99" />
99 <HeaderStyle BackColor="#003399" Font-Bold="True" ForeColor="#CCCCFF" />
100 </asp:GridView>
101 </form>
102</body>
103</html>
104
1<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
2
3<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4
5<html xmlns="http://www.w3.org/1999/xhtml">
6<head runat="server">
7 <title>无标题页</title>
8 <style type="text/css">
9 .style1
10 {}{
11 width: 173px;
12 }
13 .style2
14 {}{
15 width: 173px;
16 height: 26px;
17 }
18 .style4
19 {}{
20 }
21 .style5
22 {}{
23 width: 103px;
24 }
25 .style6
26 {}{
27 height: 26px;
28 width: 475px;
29 }
30 .style7
31 {}{
32 width: 475px;
33 }
34 </style>
35</head>
36<body>
37 <form id="form1" runat="server">
38 <div style="width: 698px; height: 214px">
39
40 <table style="width: 101%; height: 206px;">
41 <tr>
42 <td class="style2">
43 广告列表</td>
44 <td class="style6">
45 功能选项</td>
46 </tr>
47 <tr>
48 <td class="style1">
49 <asp:ListBox ID="ListBox1" runat="server" AutoPostBack="True" Height="166px"
50 onselectedindexchanged="ListBox1_SelectedIndexChanged" Width="182px">
51 </asp:ListBox>
52 </td>
53 <td class="style7">
54 <table style="width: 100%;">
55 <tr>
56 <td class="style5">
57 广告名字:</td>
58 <td>
59 <asp:TextBox ID="tb_name" runat="server" Width="330px"></asp:TextBox>
60 </td>
61 </tr>
62 <tr>
63 <td class="style5">
64 广告图片:</td>
65 <td>
66 <asp:TextBox ID="tb_img" runat="server" Width="329px"></asp:TextBox>
67 </td>
68 </tr>
69 <tr>
70 <td class="style5">
71 链接网址:</td>
72 <td>
73 <asp:TextBox ID="tb_link" runat="server" Width="329px"></asp:TextBox>
74 </td>
75 </tr>
76 <tr>
77 <td align="center" class="style4" colspan="2">
78 <asp:Button ID="Button4" runat="server" onclick="Button4_Click" Text="创建XML文件" />
79
80 <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="添加" />
81
82 <asp:Button ID="Button2" runat="server" onclick="Button2_Click" Text="修改" />
83
84 <asp:Button ID="Button3" runat="server" onclick="Button3_Click" Text="删除" />
85 </td>
86 </tr>
87 </table>
88 </td>
89 </tr>
90 </table>
91
92 </div>
93 <asp:GridView ID="GridView1" runat="server" BackColor="White"
94 BorderColor="#3366CC" BorderStyle="None" BorderWidth="1px" CellPadding="4">
95 <FooterStyle BackColor="#99CCCC" ForeColor="#003399" />
96 <RowStyle BackColor="White" ForeColor="#003399" />
97 <PagerStyle BackColor="#99CCCC" ForeColor="#003399" HorizontalAlign="Left" />
98 <SelectedRowStyle BackColor="#009999" Font-Bold="True" ForeColor="#CCFF99" />
99 <HeaderStyle BackColor="#003399" Font-Bold="True" ForeColor="#CCCCFF" />
100 </asp:GridView>
101 </form>
102</body>
103</html>
104
default.aspx.cs文件的全部代码
1using System;
2using System.Configuration;
3using System.Data;
4using System.Web;
5using System.Web.Security;
6using System.Web.UI;
7using System.Web.UI.HtmlControls;
8using System.Web.UI.WebControls;
9using System.Web.UI.WebControls.WebParts;
10
11using System.Xml;
12
13public partial class _Default : System.Web.UI.Page
14{
15 protected void Page_Load(object sender, EventArgs e)
16 {//页面载入
17 string fpath = Server.MapPath("~/App_Data/Ad.xml");
18
19 if (System.IO.File.Exists(fpath))//如果指定的XML文件已经存在,那么就不显示创建XML文件的按钮
20 {
21 Button4.Visible = false;
22 if(!IsPostBack)//如果页面是回发的话就不用加载了,不是回发的才加载
23 Bind();
24 }
25
26
27 }
28
29 private void Bind()
30 {
31 ListBox1.Items.Clear();//为了不引起加载重复值,先清理ListBox1里面的项,简单来说就是每次加载项都是全新的
32 XmlDocument xd = GetXdt();
33
34 //获取跟节点下的所有子节点
35 //XmlNodeList xnl = xd.SelectNodes("descendant::Ad[/AdList]");//或者使用下面这句,如果不清楚意思的参考Xpath语言
36 //XmlNodeList xnl = xd.SelectNodes("AdList/Ad");//再或者使用下面这句
37 XmlNodeList xnl = xd.DocumentElement.ChildNodes;
38 foreach (XmlNode xn in xnl)
39 {
40 ListBox1.Items.Add(xn.FirstChild.InnerText);
41 }
42
43 //========填充GridView
44 string fpath = Server.MapPath("~/App_Data/Ad.xml");
45 DataSet ds = new DataSet();
46 ds.ReadXml(fpath);//将XML文档加载到DataSet中去, 看到这里, 我想大家应该能够想到,是否我们可以所有增删改的操作都在DataSet中来完成呢?
47 GridView1.DataSource = ds.Tables[0].DefaultView;
48 GridView1.DataBind();
49 }
50
51 /**//// <summary>
52 /// 返回一个 XmlDocument 对象
53 /// </summary>
54 /// <returns></returns>
55 private XmlDocument GetXdt()
56 {
57 string fpath = Server.MapPath("~/App_Data/Ad.xml");
58 XmlDocument xd = new XmlDocument();
59 xd.Load(fpath);
60
61 return xd;
62 }
63 protected void Button4_Click(object sender, EventArgs e)
64 {//创建XML文档
65 XmlDocument xd = new XmlDocument();
66 xd.LoadXml("<?xml version='1.0' encoding='utf-8' ?><AdList></AdList>");
67
68 xd.Save(Server.MapPath("Ad.xml"));
69 Button4.Visible = false;
70 }
71 protected void Button1_Click(object sender, EventArgs e)
72 {//添加广告
73 string fpath = Server.MapPath("~/App_Data/Ad.xml");
74 XmlDocument xd = GetXdt();
75
76 第一种添加节点的方法#region 第一种添加节点的方法
77 /**//*
78 //创建一个广告节点元素
79 XmlNode xn = xd.CreateNode(XmlNodeType.Element, "Ad", null);
80 //添加广告名节点
81 XmlNode xnname = xd.CreateNode(XmlNodeType.Element, "Name", null);
82 xnname.InnerText = tb_name.Text;
83 xn.AppendChild(xnname);
84 //添加广告图片地址节点
85 XmlNode xnimg = xd.CreateNode(XmlNodeType.Element, "Image", null);
86 xnimg.InnerText = tb_img.Text;
87 xn.AppendChild(xnimg);
88 //添加广告链接指向地址
89 XmlNode xnlink = xd.CreateNode(XmlNodeType.Element, "Alink", null);
90 xnlink.InnerText = tb_link.Text;
91 xn.AppendChild(xnlink);
92 * */
93 #endregion
94
95 第二种添加节点的方法#region 第二种添加节点的方法
96
97 XmlNode xn = xd.CreateNode(XmlNodeType.Element, "Ad", null);
98 xn.InnerXml = "<Name>" + tb_name.Text + "</Name><Image>" + tb_img.Text + "</Image><Alink>" + tb_link.Text + "</Alink>";
99
100 #endregion
101 xd.DocumentElement.AppendChild(xn);//将整个大的节点添加到跟节点下面
102 xd.Save(fpath);
103 Bind();
104 }
105 protected void Button2_Click(object sender, EventArgs e)
106 {//修改节点 天轰穿的淘宝小店 http://shop.thc56.com/
107 string fpath = Server.MapPath("~/App_Data/Ad.xml");
108 XmlDocument xd = GetXdt();
109
110 XmlNodeList xnl = xd.SelectNodes("AdList/Ad");//找到所有的单个广告节点,另外种方法参考下面ListBox1_SelectedIndexChanged方法
111 foreach (XmlNode xn in xnl)//迭代所有广告
112 {
113 if (xn.FirstChild.InnerText == ListBox1.SelectedItem.Text)//要这样判断的前提是,你的XML文件中当前节点第一个字段肯定一定确定是ListBox1.SelectedItem.Text所显示的值
114 {
115 for (int i = 0; i < xn.ChildNodes.Count; i++)
116 { //循环当前节点的所有子节点
117 switch (i)
118 {
119 case 0:
120 xn.ChildNodes[i].InnerText = tb_name.Text;
121 break;
122 case 1:
123 xn.ChildNodes[i].InnerText = tb_img.Text;
124 break;
125 case 2:
126 xn.ChildNodes[i].InnerText = tb_link.Text;
127 break;
128 }
129 }
130 }
131 }
132
133 xd.Save(fpath);
134 Bind();
135 }
136 protected void Button3_Click(object sender, EventArgs e)
137 {//删除节点
138 string fpath = Server.MapPath("~/App_Data/Ad.xml");
139 XmlDocument xd = GetXdt();
140
141 第一种方法,比较浪费资源 http://shop.thc56.com/#region 第一种方法,比较浪费资源 http://shop.thc56.com/
142 //XmlNodeList xnl = xd.SelectNodes("AdList/Ad");
143 //foreach (XmlNode xn in xnl)
144 //{
145 // //要下面这样判断的前提是,你的XML文件中当前节点第一个字段肯定一定确定是ListBox1.SelectedItem.Text所显示的值
146 // if (xn.FirstChild.InnerText == ListBox1.SelectedItem.Text)
147 // xd.DocumentElement.RemoveChild(xn);
148 //}
149 #endregion
150
151 第二种方法,比较直接,建议学习下Xpath相关的知识#region 第二种方法,比较直接,建议学习下Xpath相关的知识
152 string xpath = "/AdList/Ad[Name='" + ListBox1.SelectedItem.Text + "']";
153 XmlNode xn = xd.SelectSingleNode(xpath);
154
155 xn.ParentNode.RemoveChild(xn);
156 #endregion
157
158
159 xd.Save(fpath);
160 Bind();
161 }
162 protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
163 {//点击广告填充右边文本框 http://shop.thc56.com/
164 XmlDocument xd = GetXdt();
165
166 第一种方法#region 第一种方法
167 //XmlNodeList xnl = xd.SelectNodes("AdList/Ad");//找到所有的单个广告节点
168 //foreach (XmlNode xn in xnl)//迭代所有广告
169 //{
170 // if (xn.FirstChild.InnerText == ListBox1.SelectedItem.Text)//要这样判断的前提是,你的XML文件中当前节点第一个字段肯定一定确定是ListBox1.SelectedItem.Text所显示的值,否则你别骂川哥哥骗你哈,俺绝对是好人
171 // {
172 // for (int i = 0; i < xn.ChildNodes.Count; i++)
173 // { //循环当前节点的所有子节点
174 // switch (i)
175 // {
176 // case 0:
177 // tb_name.Text = xn.ChildNodes[i].InnerText;
178 // break;
179 // case 1:
180 // tb_img.Text = xn.ChildNodes[i].InnerText;
181 // break;
182 // case 2:
183 // tb_link.Text = xn.ChildNodes[i].InnerText;
184 // break;
185 // }
186 // }
187 // }
188 //}
189 #endregion
190
191 第二种方法#region 第二种方法
192 string xpath = "/AdList/Ad[Name='" + ListBox1.SelectedItem.Text + "']";
193 XmlNode xn = xd.SelectSingleNode(xpath);
194
195 for (int i = 0; i < xn.ChildNodes.Count; i++)
196 { //循环当前节点的所有子节点
197 switch (i)
198 {
199 case 0:
200 tb_name.Text = xn.ChildNodes[i].InnerText;
201 break;
202 case 1:
203 tb_img.Text = xn.ChildNodes[i].InnerText;
204 break;
205 case 2:
206 tb_link.Text = xn.ChildNodes[i].InnerText;
207 break;
208 }
209 }
210 #endregion
211 }
212}
213
1using System;
2using System.Configuration;
3using System.Data;
4using System.Web;
5using System.Web.Security;
6using System.Web.UI;
7using System.Web.UI.HtmlControls;
8using System.Web.UI.WebControls;
9using System.Web.UI.WebControls.WebParts;
10
11using System.Xml;
12
13public partial class _Default : System.Web.UI.Page
14{
15 protected void Page_Load(object sender, EventArgs e)
16 {//页面载入
17 string fpath = Server.MapPath("~/App_Data/Ad.xml");
18
19 if (System.IO.File.Exists(fpath))//如果指定的XML文件已经存在,那么就不显示创建XML文件的按钮
20 {
21 Button4.Visible = false;
22 if(!IsPostBack)//如果页面是回发的话就不用加载了,不是回发的才加载
23 Bind();
24 }
25
26
27 }
28
29 private void Bind()
30 {
31 ListBox1.Items.Clear();//为了不引起加载重复值,先清理ListBox1里面的项,简单来说就是每次加载项都是全新的
32 XmlDocument xd = GetXdt();
33
34 //获取跟节点下的所有子节点
35 //XmlNodeList xnl = xd.SelectNodes("descendant::Ad[/AdList]");//或者使用下面这句,如果不清楚意思的参考Xpath语言
36 //XmlNodeList xnl = xd.SelectNodes("AdList/Ad");//再或者使用下面这句
37 XmlNodeList xnl = xd.DocumentElement.ChildNodes;
38 foreach (XmlNode xn in xnl)
39 {
40 ListBox1.Items.Add(xn.FirstChild.InnerText);
41 }
42
43 //========填充GridView
44 string fpath = Server.MapPath("~/App_Data/Ad.xml");
45 DataSet ds = new DataSet();
46 ds.ReadXml(fpath);//将XML文档加载到DataSet中去, 看到这里, 我想大家应该能够想到,是否我们可以所有增删改的操作都在DataSet中来完成呢?
47 GridView1.DataSource = ds.Tables[0].DefaultView;
48 GridView1.DataBind();
49 }
50
51 /**//// <summary>
52 /// 返回一个 XmlDocument 对象
53 /// </summary>
54 /// <returns></returns>
55 private XmlDocument GetXdt()
56 {
57 string fpath = Server.MapPath("~/App_Data/Ad.xml");
58 XmlDocument xd = new XmlDocument();
59 xd.Load(fpath);
60
61 return xd;
62 }
63 protected void Button4_Click(object sender, EventArgs e)
64 {//创建XML文档
65 XmlDocument xd = new XmlDocument();
66 xd.LoadXml("<?xml version='1.0' encoding='utf-8' ?><AdList></AdList>");
67
68 xd.Save(Server.MapPath("Ad.xml"));
69 Button4.Visible = false;
70 }
71 protected void Button1_Click(object sender, EventArgs e)
72 {//添加广告
73 string fpath = Server.MapPath("~/App_Data/Ad.xml");
74 XmlDocument xd = GetXdt();
75
76 第一种添加节点的方法#region 第一种添加节点的方法
77 /**//*
78 //创建一个广告节点元素
79 XmlNode xn = xd.CreateNode(XmlNodeType.Element, "Ad", null);
80 //添加广告名节点
81 XmlNode xnname = xd.CreateNode(XmlNodeType.Element, "Name", null);
82 xnname.InnerText = tb_name.Text;
83 xn.AppendChild(xnname);
84 //添加广告图片地址节点
85 XmlNode xnimg = xd.CreateNode(XmlNodeType.Element, "Image", null);
86 xnimg.InnerText = tb_img.Text;
87 xn.AppendChild(xnimg);
88 //添加广告链接指向地址
89 XmlNode xnlink = xd.CreateNode(XmlNodeType.Element, "Alink", null);
90 xnlink.InnerText = tb_link.Text;
91 xn.AppendChild(xnlink);
92 * */
93 #endregion
94
95 第二种添加节点的方法#region 第二种添加节点的方法
96
97 XmlNode xn = xd.CreateNode(XmlNodeType.Element, "Ad", null);
98 xn.InnerXml = "<Name>" + tb_name.Text + "</Name><Image>" + tb_img.Text + "</Image><Alink>" + tb_link.Text + "</Alink>";
99
100 #endregion
101 xd.DocumentElement.AppendChild(xn);//将整个大的节点添加到跟节点下面
102 xd.Save(fpath);
103 Bind();
104 }
105 protected void Button2_Click(object sender, EventArgs e)
106 {//修改节点 天轰穿的淘宝小店 http://shop.thc56.com/
107 string fpath = Server.MapPath("~/App_Data/Ad.xml");
108 XmlDocument xd = GetXdt();
109
110 XmlNodeList xnl = xd.SelectNodes("AdList/Ad");//找到所有的单个广告节点,另外种方法参考下面ListBox1_SelectedIndexChanged方法
111 foreach (XmlNode xn in xnl)//迭代所有广告
112 {
113 if (xn.FirstChild.InnerText == ListBox1.SelectedItem.Text)//要这样判断的前提是,你的XML文件中当前节点第一个字段肯定一定确定是ListBox1.SelectedItem.Text所显示的值
114 {
115 for (int i = 0; i < xn.ChildNodes.Count; i++)
116 { //循环当前节点的所有子节点
117 switch (i)
118 {
119 case 0:
120 xn.ChildNodes[i].InnerText = tb_name.Text;
121 break;
122 case 1:
123 xn.ChildNodes[i].InnerText = tb_img.Text;
124 break;
125 case 2:
126 xn.ChildNodes[i].InnerText = tb_link.Text;
127 break;
128 }
129 }
130 }
131 }
132
133 xd.Save(fpath);
134 Bind();
135 }
136 protected void Button3_Click(object sender, EventArgs e)
137 {//删除节点
138 string fpath = Server.MapPath("~/App_Data/Ad.xml");
139 XmlDocument xd = GetXdt();
140
141 第一种方法,比较浪费资源 http://shop.thc56.com/#region 第一种方法,比较浪费资源 http://shop.thc56.com/
142 //XmlNodeList xnl = xd.SelectNodes("AdList/Ad");
143 //foreach (XmlNode xn in xnl)
144 //{
145 // //要下面这样判断的前提是,你的XML文件中当前节点第一个字段肯定一定确定是ListBox1.SelectedItem.Text所显示的值
146 // if (xn.FirstChild.InnerText == ListBox1.SelectedItem.Text)
147 // xd.DocumentElement.RemoveChild(xn);
148 //}
149 #endregion
150
151 第二种方法,比较直接,建议学习下Xpath相关的知识#region 第二种方法,比较直接,建议学习下Xpath相关的知识
152 string xpath = "/AdList/Ad[Name='" + ListBox1.SelectedItem.Text + "']";
153 XmlNode xn = xd.SelectSingleNode(xpath);
154
155 xn.ParentNode.RemoveChild(xn);
156 #endregion
157
158
159 xd.Save(fpath);
160 Bind();
161 }
162 protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
163 {//点击广告填充右边文本框 http://shop.thc56.com/
164 XmlDocument xd = GetXdt();
165
166 第一种方法#region 第一种方法
167 //XmlNodeList xnl = xd.SelectNodes("AdList/Ad");//找到所有的单个广告节点
168 //foreach (XmlNode xn in xnl)//迭代所有广告
169 //{
170 // if (xn.FirstChild.InnerText == ListBox1.SelectedItem.Text)//要这样判断的前提是,你的XML文件中当前节点第一个字段肯定一定确定是ListBox1.SelectedItem.Text所显示的值,否则你别骂川哥哥骗你哈,俺绝对是好人
171 // {
172 // for (int i = 0; i < xn.ChildNodes.Count; i++)
173 // { //循环当前节点的所有子节点
174 // switch (i)
175 // {
176 // case 0:
177 // tb_name.Text = xn.ChildNodes[i].InnerText;
178 // break;
179 // case 1:
180 // tb_img.Text = xn.ChildNodes[i].InnerText;
181 // break;
182 // case 2:
183 // tb_link.Text = xn.ChildNodes[i].InnerText;
184 // break;
185 // }
186 // }
187 // }
188 //}
189 #endregion
190
191 第二种方法#region 第二种方法
192 string xpath = "/AdList/Ad[Name='" + ListBox1.SelectedItem.Text + "']";
193 XmlNode xn = xd.SelectSingleNode(xpath);
194
195 for (int i = 0; i < xn.ChildNodes.Count; i++)
196 { //循环当前节点的所有子节点
197 switch (i)
198 {
199 case 0:
200 tb_name.Text = xn.ChildNodes[i].InnerText;
201 break;
202 case 1:
203 tb_img.Text = xn.ChildNodes[i].InnerText;
204 break;
205 case 2:
206 tb_link.Text = xn.ChildNodes[i].InnerText;
207 break;
208 }
209 }
210 #endregion
211 }
212}
213