以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XSL/XSLT/XSL-FO/CSS 』  (http://bbs.xml.org.cn/list.asp?boardid=8)
----  .net读取xml(三层)前十条数据,绑定数据到aspx页面  (http://bbs.xml.org.cn/dispbbs.asp?boardid=8&rootid=&id=38903)


--  作者:bumite
--  发布时间:10/14/2006 7:57:00 PM

--  .net读取xml(三层)前十条数据,绑定数据到aspx页面
<?xml version="1.0"  encoding="gb2312" ?>
<rss version="2.0" >
 <channel>
  <copyright><![CDATA[sdfasdf]]></copyright>
     <item>
      <author><![CDATA[csbb520]]></author>
      <title><![CDATA[无聊就是我 [原]]]></title>
      <link><![CDATA[http://www.blogcn.com/u3/19/49/csbb520/blog/43924081.html]]></link>
      <pubDate><![CDATA[2006-10-13 19:37:51]]></pubDate>
     </item>
........................
 </channel>
</rss>
好像用DataSet不能处理三层以上的结构,我的目的是"按title/author/pubDate显示前几个的item,而且点击author会转到author的个人主页"
怎么处理啊,还请前辈们指教!
--  作者:Qr
--  发布时间:10/15/2006 9:48:00 AM

--  
以下是引用bumite在2006-10-14 19:57:00的发言:
好像用DataSet不能处理三层以上的结构


不会吧,从来没听过这个说法。

DataSet取XML似乎没办法控制记录数,而是将事个XML读入。如果要控制输出记录数,可以通过DataGrid。


--  作者:bumite
--  发布时间:10/15/2006 4:17:00 PM

--  
这样的话XML很大时估计不大妥了,用XSL倒可以显示前几条,可链接乍写啊
--  作者:bumite
--  发布时间:10/15/2006 7:38:00 PM

--  
我已经试过了像这样子
<?xml version="1.0" encoding="utf-8"?>
<aaa>
  <AddressBook>
    <Card Group="Friend">
      <Name>飞刀</Name>
      <Email>fsda@sfs.com</Email>
    </Card>
    <Card Group="Classmate">
      <Name>张飞</Name>
      <Email>fsda@sfs.com</Email>
    </Card>
    <Card Group="Friend">
      <Name>飞刀</Name>
      <Email>fsda@sfs.com</Email>
    </Card>
  </AddressBook>
</aaa>

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="DataSetReadXml.aspx.cs" Inherits="DataSetReadXml" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Xml" %>
<%@ Import Namespace="System.IO" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script language="c#" runat="server">
    public void Page_Load(Object sender, EventArgs e)
    {
        DataSet ds = new DataSet();
        DataTable dt = new DataTable();
        string strFpath = Server.MapPath("xmlfile1.xml");
        ds.ReadXml(strFpath);
        XmlSource.DataSource = ds.Tables[0];
        XmlSource.DataBind();
    }
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>无标题页</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:DataGrid ID="XmlSource" runat="server"></asp:DataGrid>
    </div>
    </form>
</body>
</html>
读出来就不对了
结果显示为:
AddressBook_Id
0
,把<aaa>去掉就正常了,怪哉!


--  作者:Qr
--  发布时间:10/15/2006 10:03:00 PM

--  
果真如此,和数据岛一样。


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
3,515.625ms