供参考
FileStream stream = new FileStream(Server.MapPath("db\\db.xml"),FileMode.Open);
try
{
XmlDataDocument doc = new XmlDataDocument();
doc.DataSet.ReadXml(new StreamReader(stream));
if(doc.DataSet.Tables.Count != 0 && doc.DataSet.Tables[0].Rows.Count!=0)
{
DataList1.DataSource = doc.DataSet.Tables[0].DefaultView ;
DataList1.DataBind();
}
stream.Close();
}
catch(Exception ding)
{
Response.Write(ding.Message);
}
finally
{
stream.Close();
}
FileStream stream = new FileStream(Server.MapPath("db\\db.xml"),FileMode.Open);
try
{
XmlDataDocument doc = new XmlDataDocument();
doc.DataSet.ReadXml(new StreamReader(stream));
if(doc.DataSet.Tables.Count != 0 && doc.DataSet.Tables[0].Rows.Count!=0)
{
DataList1.DataSource = doc.DataSet.Tables[0].DefaultView ;
DataList1.DataBind();
}
stream.Close();
}
catch(Exception ding)
{
Response.Write(ding.Message);
}
finally
{
stream.Close();
}
解决方案 »
- update和delete触发
- 如何保存日期
- RichTextBox 如何与窗体的大小一起改变!!不写resize事件来实现
- C/S结构可以访问广域网上的服务器么?
- DropDownList1控制TextBox1 事件如何写
- 关于socket的问题,帮看看
- OracleBulkCopy 命名空间
- 高手指点下这个EXCle怎样用datable填写
- SOS:C#中如何将HTML中的文本内容提取出来?
- 我通过overide wndproc来截获一些windows消息,如何不让window处理而是让我处理?
- 多语言显示问题?谢谢先!
- 当我按下"alt+空格"时,explore.exe窗口要隐藏,再按一下,再显示出来
string ip = ds.Tables[0].Rows[0][0]
string type = ds.Tables[0].Rows[0][1]
XmlDocument mXmlDoc=new XmlDocument();
mXmlDoc.Load(@"c:\test.xml");
XmlNodeList mXmlNodes=mXmlDoc.SelectNodes("//WatcherService/watcher");
int i=0;
foreach(XmlNode sXmlNode in mXmlNodes)
{
a[i++]=(sXmlNode.ChildNodes[0].InnerText);
a[i++]=(sXmlNode.ChildNodes[1].InnerText);
}
using System;
using System.IO;
using System.Text;
using System.Diagnostics;
using System.Threading;
using System.Collections;
using System.Data;
using System.Xml;
using System.Management;
using System.Net;
namespace ZZ
{
class ZZConsole
{
[STAThread]
static void Main(string[] args)
{
string strXml="<?xml version=\"1.0\"?>"
+"<Data>"
+"<Head>"
+"<Nodeid>1111</Nodeid>"
+"<Subid>2222</Subid>"
+"<Version>2004</Version>"
+"<Date>20040302</Date>"
+"<Time>101500</Time>"
+"</Head>"
+"<Body>"
+"<Code>01</Code>"
+"<Name>深圳</Name>"
+"<IdType>0</IdType>"
+"<Idno>110258740824082</Idno>"
+"</Body>"
+"</Data>";
XmlDocument doc = new XmlDocument();
doc.LoadXml(strXml);
string vv;
vv = doc.GetElementsByTagName("Version")[0].InnerText;
Console.WriteLine(vv);
vv = doc.SelectNodes("//Version")[0].InnerText;
Console.WriteLine(vv);
Console.ReadLine();
}
}
}
using System.Xml;
//处理XML必须加的Namespace,还需在References中加System.XML.Dll
using System.IO;
//读XML文件必须加的Namespace
然后在Page_Load中加入如下代码:
protected void Page_Load(object sender, EventArgs e){
string datafile="guest.xml" ;
//假设XML文件名为guest.xml
StreamReader tyj=new StreamReader(Server.MapPath(datafile));
XmlDataDocument datadoc = new XmlDataDocument();
//创建该对象为了读取XML
datadoc.DataSet.ReadXml(tyj);
//读取guest.xml文件内容
DataGrid1.DataSource = datadoc.DataSet.Tables[0].DefaultView;
//设置DataGrid数据源
DataGrid1.DataBind();
//绑定
datadoc=null ;
//释放资源
tyj.Close();}
//释放StreamReader类,这非常重要,否则下次打开会显示文件已经被使用
对应于显示用的Web Form中DataGrid的功能,我们需要增加下面的函数:
protected void OnSelectName(object sender,EventArgs e) {
Session["select_name"]=(string)DataGrid1.SelectedItem.Cells[1].Text.ToString();
//把选定的 DataGrid某行中的一个单元中的值(Name)存入一个会话变量中,以便下一页用
Response.Redirect("xml_manage.aspx");}
//转到有增加删除功能的管理页
Web Form加入以下代码:
<asp:DataGrid id=DataGrid1 runat="server" onselectedindexchanged="OnSelectName" >
<property name="Columns">
<asp:buttoncolumn Text="选择" commandname="Select" />
</property>
代码中划线部分的作用是当按了“选择”按钮后,执行OnSelectName()中的程序,把选定的 DataGrid中某行中的一个单元中的值(Name)存入一个会话变量中,然后转到下一页。 增加XML文件内容
在Web Form中分别增加相应的四个Label(姓名,来自哪里,Email地址,留言内容)和四个TextBox和一个用于提交的Button,并为这button增加如下代码:
string datafile = "guest.xml" ;XmlDocument xmldocument = new XmlDocument() ;
xmldocument.Load(Server.MapPath(datafile)) ;
//把guest.xml读到xmldocument中
DocumentNavigator navigator = new DocumentNavigator(xmldocument) ;
//最重要的类
navigator.MoveToDocumentElement() ;
navigator.Insert(System.Xml.TreePosition.FirstChild, XmlNodeType.Element, "Guest","","") ;//插入节点Guest
navigator.Insert(System.Xml.TreePosition.FirstChild, XmlNodeType.Element, "Name","","") ;
navigator.Insert(System.Xml.TreePosition.FirstChild, XmlNodeType.Text,"Name","","") ;
navigator.Value=Name.Text ;
//为该节点赋值
navigator.MoveToParent() ;
//返回父节点 Guest
……
//使用同类语句,在元素Name下插入另一些元素如Country、E-mail地址和留言等
xmldocument.Save(Server.MapPath(datafile));
//最后保存这个XML文档
navigator=null ;
xmldocument=null ;
//释放XML文档,这样其他程序可以用它
上述代码使用DocumentNavigator类增加元素和内容,注意使用后要释放资源。
删除XML文件内容
删除选定记录,对于你上面选择的节点,下面代码可查找到该节点并清除选中的信息:
string datafile = "guest.xml" ;
XmlDocument xmldocument = new XmlDocument() ;
xmldocument.Load(Server.MapPath(datafile)) ;
//把guest.xml读到xmldocument中
DocumentNavigator navigator = new DocumentNavigator(xmldocument) ;
navigator.MoveToDocumentElement() ;
navigator.Select("/Guests/Guest[Name=""+Session["select_name"]+""]");
//参数是XPath
navigator.RemoveSelected();
//执行删除
xmldocument.Save(Server.MapPath(datafile));
//最后保存这个XML文档
navigator=null;
//释放类
xmldocument=null ;
//释放XML文档,这样其他程序可以用它
如需将XML文件中所有信息清除,使用“navigator.RemoveChildren();”语句即可实现。