还是关于向XML文件中添加记录的问题

tzcsdn 2004-03-13 06:59:05
我从XML文件中读取内容实现页面上的菜单项,XML文件如下(有点复杂):
<MenuData ImagesBaseURL="images/">
<MenuGroup>
<MenuItem Label="File">
<MenuGroup ExpandOffsetY="1" ExpandOffsetX="-1">
<MenuItem Label="New" ID="i_New" URLTarget="_blank" />
<MenuItem Label="Open" RightIcon="arrow_white.gif" RightIconWidth="15">
<MenuGroup>
<MenuItem Label="File" ID="i_File"/>
<MenuItem Label="File From Web" ID="i_FileWeb"/>
</MenuGroup>
</MenuItem>
<MenuItem Label="Save" ID="i_Save"/>
<MenuItem Label="Save As..." ID="i_SaveAs"/>
</MenuGroup>
</MenuItem>

<MenuItem Label="Edit">
<MenuGroup ExpandOffsetY="1" ExpandOffsetX="-1">
<MenuItem Label="Cut" ID="i_Cut"/>
<MenuItem Label="Copy" ID="i_Copy"/>
<MenuItem Label="Paste" ID="i_Paste"/>
<MenuItem Label="IntelliSense" RightIcon="arrow_white.gif" RightIconWidth="15">
<MenuGroup>
<MenuItem Label="List Members" ID="i_List"/>
<MenuItem Label="Parameter Info" ID="i_Info"/>
<MenuItem Label="Complete Word" ID="i_Complete"/>
</MenuGroup>
</MenuItem>
</MenuGroup>
</MenuItem>

<MenuItem Label="View">
<MenuGroup ExpandOffsetY="1" ExpandOffsetX="-1">
<MenuItem Label="Stop" ID="i_Stop"/>
<MenuItem Label="Refresh" ID="i_Refresh"/>
<MenuItem Label="Privacy Report..." ID="i_Privacy"/>
<MenuItem Label="Full Screen" ID="i_FullScreen"/>
</MenuGroup>
</MenuItem>

<MenuItem Label="Tools">
<MenuGroup ExpandOffsetY="1" ExpandOffsetX="-1">
<MenuItem Label="Mail and News" ID="i_Mail"/>
<MenuItem Label="Synchronize..." ID="i_Sync"/>
<MenuItem Label="Windows Update" ID="i_Update"/>
<MenuItem Label="Internet Options..." ID="i_Options"/>
</MenuGroup>
</MenuItem>



<MenuItem Label="Mail and News" ID="X_Mail"/>
<MenuItem Label="Synchronize..." ID="X_Sync"/>
<MenuItem Label="Windows Update" ID="X_Update"/>
<MenuItem Label="Internet Options..." ID="X_Options"/>


</MenuGroup>
</MenuData>

请问我该如何将这个XML的内容读出,再加入一个新的菜单项到指定的节点,高手救我,最后50分了,答出来明天再加!
我是这样写的:
public void Submit_Click(Object sender, EventArgs e)
  {
  //保存数据的XML文件的路径
  //如果你的路径和下面的不同,则请修改之
  string dataFile = "MenuData.xml" ;

//运用一个Try-Catch块完成信息添加功能
  try
{
  //仅当页面是有效的时候才处理它
  if(Page.IsValid)
{

errmess.Text="" ;
  //以读的模式打开一个FileStream来访问XML
  FileStream fin;
  fin= new FileStream(Server.MapPath(dataFile),FileMode.Open,
  FileAccess.Read,FileShare.ReadWrite);
  //建立一个数据库对象
  DataSet guestData = new DataSet();
  //仅从数据库读取XML Schema
///////此处出错
  guestData.ReadXml(fin);
  fin.Close();
  //从数据集的Schema新建一个数据行
  DataRow newRow = guestData.Tables[0].NewRow();
  //用相应值填写数据行
  newRow["Name"]=TextBox1.Text;
  //填写完毕,将数据行添加到数据集
  guestData.Tables[0].Rows.Add(newRow);
  //为数据库文件新建另一个写模式的FileStream,并保存文件
  FileStream fout ;
  fout = new FileStream(Server.MapPath(dataFile),FileMode.Open,
  FileAccess.Write,FileShare.ReadWrite);

guestData.WriteXml(fout, XmlWriteMode.WriteSchema);
  fout.Close();
  //隐藏当前的面板
  //formPanel.Visible=false;
  //显示带有感谢信息的面板
  //thankPanel.Visible=true;
  }
  }
  catch (Exception edd)
  {
  //捕捉异常
  errmess.Text="写入XML文件出错,原因:"+edd.ToString() ;
  }
  }
但在读取的时候就出错了,大虾们救命啊!!
...全文
36 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧