日期:2014-05-19  浏览次数:20458 次

请教一个xsl的问题
我的代码如下
private   void   GetXML()
        {
                XmlDocument   xmldoc   =   new   XmlDocument();
                xmldoc.Load( "data.xml ");

                foreach   (XmlElement   node_y   in   xmldoc.SelectNodes( "rs/chan/em "))
                {
                XmlNode   node_ti   =   node_y.SelectSingleNode( "ti ");

                node_ti.InnerText;   //这个就是我取出来的数据
                }
             
        }


我想实现http://www.zjkzw.com里的显示一条条新闻在页面上,显示6条,然后点更多就进入一个页面显示全部。别人说用xsl,但是具体我不知道怎么实现,请大家帮忙看看,谢谢!

 


------解决方案--------------------
直接把XML取出来生成一个ds数据集,然后取出你要的数据节点集合
直接绑定到Repeater就可以了

这个用数据库实现很easy的一个功能,为什么这么喜欢用XML作数据源?
------解决方案--------------------
我的xml
<?xml version= "1.0 " encoding= "utf-8 " ?>
<news>
<item id= "1 " context= "1郝龙斌:和平稳定两岸关系是台生存发展关键… ">
</item>
<item id= "2 " context= "1郝龙斌:和平稳定两岸关系是台生存发展关键… ">
</item>
<item id= "3 " context= "1郝龙斌:和平稳定两岸关系是台生存发展关键… ">
</item>
</news>
我的aspx:
<form id= "form1 " runat= "server ">
<div>
&nbsp; <asp:GridView ID= "GridView1 " runat= "server " AutoGenerateColumns= "False " DataSourceID= "XmlDataSource1 ">
<Columns>
<asp:BoundField DataField= "id " HeaderText= "id " SortExpression= "id " />
<asp:BoundField DataField= "context " HeaderText= "context " SortExpression= "context " />
</Columns>
</asp:GridView>
<asp:XmlDataSource ID= "XmlDataSource1 " runat= "server " DataFile= "XMLFile.xml " XPath= "/news/item ">
</asp:XmlDataSource>
</div>
</form>

这个是个简单的,根本用不了xsl,用也可以。要自己写,这个很简单的,你看看对你有什么帮助/news/item 这个可以改成你想要显示哪条记录 xpath 到网上找点资料
------解决方案--------------------
<xsl:for-each select= "item[position()&lt;6] ">
<li>
<a>
<xsl:attribute name= "href ">
<xsl:value-of select= "link " disable-output-escaping= "yes "/>
</xsl:attribute>
<xsl:attribute name= "target "> _blank </xsl:attribute>
<xsl:value-of select= "title " disable-output-escaping= "yes "/>
</a>

( <span>
<xsl:attribute name= "color "> Gray </xsl:attribute>
<xsl:value-of select= "pubDate "/>
</span> )
</li>
</xsl:for-each>
----