问题描述
XML:<?xmlversion="1.0"encoding="gb2312"?><Books><Bookss><names>C++程序设计</names><Author>李钢,张战军,于秋生</Author><Publishing>科学出版社</Publishing><dates>2008-09-01</dates><pic>images/1.jpg</pic></Bookss><Bookss><names>软件测试基础教程</names><Author>(美)马瑟,王峰,郭长国,陈振华</Author><Publishing>机械工业出版社</Publishing><dates>2011-8-1</dates><pic>images/2.jpg</pic></Bookss></Books>CS代码如下:usingSystem;usingSystem.Collections;usingSystem.Configuration;usingSystem.Data;usingSystem.Linq;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.HtmlControls;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Xml.Linq;usingSystem.Xml;usingSystem.Collections.Generic;usingSystem.Xml.XPath;publicpartialclassDefault2:System.Web.UI.Page{//publicstring[]y=newstring[5];protectedvoidPage_Load(objectsender,EventArgse){//DataSetobjDataSet=newDataSet();//objDataSet.ReadXml(Server.MapPath("1.xml"));//GridView1.DataSource=objDataSet.Tables[0].DefaultView;//GridView1.DataBind();XmlDocumentxmlDoc=newXmlDocument();xmlDoc.Load(Server.MapPath("1.xml"));//你的xml文件XmlNodeListxmlList=xmlDoc.SelectSingleNode("Books").ChildNodes;for(inti=0;i<xmlList.Count;i++){foreach(XmlNodexmlNoinxmlList.Item(i)){XmlElementxe=(XmlElement)xmlNo;{if(xe.Name=="names"){Label1.Text=xe.InnerText;}if(xe.Name=="Author"){Label2.Text=xe.InnerText;}if(xe.Name=="Publishing"){Label3.Text=xe.InnerText;}if(xe.Name=="dates"){Label4.Text=xe.InnerText;}if(xe.Name=="pic"){ImageButton1.ImageUrl=xe.InnerText;}}}}}protectedvoidButton1_Click(objectsender,EventArgse){}}这样只能读取最后一个我想循环全部读取出来应该怎么做啊?
解决方案
解决方案二:
你每次循环都给众Lables赋一遍值当然只能显示最后一条啊==你可以定义一个实体类,用来存放名称,作者,出版社等等。然后循环遍历XML生成一个这个类型的集合,再用GridView进行显示。
解决方案三:
解决方案四:
显示方法http://dotnet.aspx.cc/file/DataSource-Xml-Nested-DataBinding.aspx
解决方案五:
回复2楼:你说的是绑定到GridView,我不是要的这效果!我要的是在Label读取出来!
解决方案六:
用GridView显示早做出来了,但是现在我想要在一个表格里的各个Label读取出相应的值!求解答!!!
解决方案七:
所有的绑定控件道理都是一样
解决方案八:
还是不懂呢
解决方案九:
解决方案十:
引用5楼的回复:
用GridView显示早做出来了,但是现在我想要在一个表格里的各个Label读取出相应的值!求解答!!!
那你一个Label是要显示一列数据呢还是只显示一列中的一行数据呢?
解决方案十一:
自己画个表格,循环出来就是了。。
解决方案十二:
XDocumentxdoc=XDocument.Load(@"D:快盘mydatabasebooks.xml");//Console.WriteLine(xdoc.ToString());XElementxroot=xdoc.Root;//获得根节点Booksforeach(XElementxetinxroot.Elements("Bookss")){//Console.WriteLine(xet.ToString());//Console.WriteLine("==============");foreach(XElementiteminxet.Elements()){Console.WriteLine("<td>{0}</td><td>{1}</td>",item.Name,item.Value);}Console.WriteLine("==============");}Console.ReadKey();