问个xml文件读到dataset的问题!
data.xml文件内容:
<?xml version="1.0" encoding="utf-8" ?>
<Notepad>
<Person Name="liuwei">
<Content Time="2006-3-2 12:26:18">人民解放军</Content>
<Content Time="2006-3-2 12:36:38">农民企业家</Content>
</Person>
</Notepad>
上面的xml文件怎样读到dataset中,然后在DataGrid中显示格式为:
人民解放军 2006-3-2 12:26:18
农民企业家 2006-3-2 12:36:38
请问该怎样读取该xml文件来实现上面的文字格式?
问题点数:50、回复次数:10Top
1 楼saucer(思归)回复于 2006-03-02 22:35:42 得分 40
don't just think along the idea of dataset, you can always use xml, for example
XmlDocument doc = new XmlDocument();
doc.Load(Server.MapPath("YourXml.xml"));
DataGrid1.DataSource = doc.SelctNodes("//Content");
DataGrid1.DataBind();
<asp:DataGrid id="DataGrid1" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<%# ((XmlNode)Container.DataItem).InnerXml%> <%#((XmlNode)Container.DataItem).Attributes["Time"].Value%>
</ItemTemplate>
<asp:TemplateColumn>
</Columns>
</asp:DataGrid>Top
2 楼saucer(思归)回复于 2006-03-02 22:37:28 得分 0
sorry
DataGrid1.DataSource = doc.SelectNodes("//Content");Top
3 楼qiushuangqun(探索是一种精神,值得表扬!)回复于 2006-03-03 08:59:19 得分 0
thanks saucer
but
我还要根据人名(Name节点)来查询Content的内容,因为Person节点不一定是一个Top
4 楼qiushuangqun(探索是一种精神,值得表扬!)回复于 2006-03-03 09:06:58 得分 0
根据人名查询可以这样来实现
DataGrid1.DataSource = doc.SelectNodes("//Notepad//Person[@Name='"+strPerson+"']//Content");
但是我想即根据人名查询还要加上时间条件的筛选,还望指教!Top
5 楼championchen79(现学现卖)回复于 2006-03-03 09:10:38 得分 5
其实XMLdocument就是一个树,你只要把她看成一个树,然后学习一下XPATH语法.
一般就是遇到元素提取用element,用到属性提取用ATTRIBUTE,然后用XPATH来定位.
XML数据的问题还是可以比较轻松搞定的。Top
6 楼TheLastMarine(dotnet小菜鸟)回复于 2006-03-03 09:14:02 得分 0
帮你顶,Top
7 楼nameone(过客)回复于 2006-03-03 10:15:59 得分 0
UPTop
8 楼hl_ws(小数点)回复于 2006-03-03 11:09:36 得分 0
路过,学习了Top
9 楼qiushuangqun(探索是一种精神,值得表扬!)回复于 2006-03-03 16:04:12 得分 0
加上时间条件的筛选,怎样做?Top
10 楼liujing1223(需要一颗勇敢的心)回复于 2006-03-06 15:07:26 得分 5
DataTable dt = new DataTable();
XmlDocument doc = new XmlDocument();
doc.Load(Server.MapPath("YourXml.xml"));
System.Xml.XmlNodeList xnl=doc.ChildNodes;
System.Xml.XmlNode xn=doc.ChildNodes[1].ChildNodes[0].ChildNodes[0];
for(int i=0;i<xn.ChildNodes.Count;i++)
{
//通过xml节点属性对表格内容进行构造
}Top




