.net读取xml内容 内容在指定的表格内显示 如何做?
XML:<?xml version="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代码如下:
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Xml;
using System.Collections.Generic;
using System.Xml.XPath;
public partial class Default2 : System.Web.UI.Page
{
//public string[] y = new string[5];
protected void Page_Load(object sender, EventArgs e)
{
//DataSet objDataSet = new DataSet();
//objDataSet.ReadXml(Server.MapPath("1.xml"));
//GridView1.DataSource = objDataSet.Tables[0].DefaultView;
//GridView1.DataBind();
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(Server.MapPath("1.xml"));//你的xml文件
XmlNodeList xmlList = xmlDoc.SelectSingleNode("Books").ChildNodes;
for (int i = 0; i < xmlList.Count; i++)
{
foreach (XmlNode xmlNo in xmlList.Item(i))
{
XmlElement xe = (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;
}
}
}
}
}
protected void Button1_Click(object sender, EventArgs e)
{
}
}
这样只能读取最后一个 我想循环全部读取出来 应该怎么做啊? --------------------编程问答-------------------- 你每次循环都给众Lables赋一遍值当然只能显示最后一条啊= =
你可以定义一个实体类,用来存放名称,作者,出版社等等。然后循环遍历XML生成一个这个类型的集合,再用GridView进行显示。 --------------------编程问答-------------------- http://blog.csdn.net/suntanyong88/article/details/5969536 --------------------编程问答-------------------- 显示方法
http://dotnet.aspx.cc/file/DataSource-Xml-Nested-DataBinding.aspx --------------------编程问答-------------------- 回复2楼:你说的是绑定到GridView,我不是要的这效果!我要的是在Label读取出来! --------------------编程问答-------------------- 用GridView显示早做出来了,但是现在我想要在一个表格里的各个Label读取出相应的值!求解答!!! --------------------编程问答-------------------- 所有的绑定控件道理都是一样 --------------------编程问答--------------------
还是不懂呢 --------------------编程问答--------------------
--------------------编程问答--------------------
那你一个Label是要显示一列数据呢还是只显示一列中的一行数据呢? --------------------编程问答-------------------- 自己画个表格,循环出来就是了。。 --------------------编程问答--------------------
XDocument xdoc = XDocument.Load(@"D:\快盘\mydatabase\books.xml");
//Console.WriteLine(xdoc.ToString());
XElement xroot = xdoc.Root;//获得根节点Books
foreach (XElement xet in xroot.Elements("Bookss"))
{
//Console.WriteLine(xet.ToString());
//Console.WriteLine("==============");
foreach (XElement item in xet.Elements())
{
Console.WriteLine("<td>{0}</td><td>{1}</td>",item.Name,item.Value);
}
Console.WriteLine("==============");
}
Console.ReadKey();
补充:.NET技术 , ASP.NET