散分!c#中用XslCompiledTransform解释一个xml用一个xslt时,没用的xml数据如何不输出?

hwbox 2010-12-30 11:08:15
我有一个xml和一个xslt在服务器端用XslCompiledTransform解释,想输出前5个,结果后面没有用的2个内容也出来了,只是没有格式,怎么才能让6、7两个节点不输出?

string xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?> " + "\r\n"
+ "<NewDataSet>" + "\r\n"
+ "<Table>" + "\r\n"
+ "<Code>1</Code>" + "\r\n"
+ "<Desc>Good</Desc>" + "\r\n"
+ "</Table>" + "\r\n"
+ "<Table>" + "\r\n"
+ "<Code>2</Code>" + "\r\n"
+ "<Desc>New</Desc>" + "\r\n"
+ "</Table>" + "\r\n"
+ "<Table>" + "\r\n"
+ "<Code>3</Code>" + "\r\n"
+ "<Desc>New</Desc>" + "\r\n"
+ "</Table>" + "\r\n"
+ "<Table>" + "\r\n"
+ "<Code>4</Code>" + "\r\n"
+ "<Desc>New</Desc>" + "\r\n"
+ "</Table>" + "\r\n"
+ "<Table>" + "\r\n"
+ "<Code>5</Code>" + "\r\n"
+ "<Desc>New</Desc>" + "\r\n"
+ "</Table>" + "\r\n"
+ "<Table>" + "\r\n"
+ "<Code>6</Code>" + "\r\n"
+ "<Desc>New</Desc>" + "\r\n"
+ "</Table>" + "\r\n"
+ "<Table>" + "\r\n"
+ "<Code>7</Code>" + "\r\n"
+ "<Desc>New</Desc>" + "\r\n"
+ "</Table>" + "\r\n"
+ "</NewDataSet>" + "\r\n";

xslt = "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns:msxsl=\"urn:schemas-microsoft-com:xslt\" version=\"1.0\" >" + "\r\n"
+ "<xsl:output method=\"html\"/>"
+ "<xsl:template match=\"/\">" + "\r\n"
+ " <html><body><P>"
+ " <xsl:for-each select=\"NewDataSet/Table[position()<6]\">" + "\r\n"
+ " <p>" + "\r\n"
+ " <xsl:value-of select=\"Code\"/>" + "\r\n"
+ " </p>" + "\r\n"
+ " </xsl:for-each>" + "\r\n"
+ " </P></body></html>"
+ "</xsl:template>" + "\r\n"
+ "</xsl:stylesheet> " + "\r\n";
//略
XsltTr.Transform(xmlDoc, null, outStreamWriter);

string theHtml = System.Text.Encoding.UTF8.GetString(outmemoryStream.ToArray(), 0, outmemoryStream.ToArray().GetLength(0));

context.Response.Write(theHtml);



我想要这样的结果

<html xmlns:msxsl="urn:schemas-microsoft-com:xslt">
<body>
<P>
<p>1</p>
<p>2</p>
<p>3</p>
<p>4</p>
<p>5</p>
</P>
</body>
</html>

结果出来的是这个

<html xmlns:msxsl="urn:schemas-microsoft-com:xslt">
<body>
<P>
<p>1</p>
<p>2</p>
<p>3</p>
<p>4</p>
<p>5</p>
</P>
</body>
</html>Code>
<Desc>New</Desc>
</Table>
<Table>
<Code>4</Code>
<Desc>New</Desc>
</Table>
<Table>
<Code>5</Code>
<Desc>New</Desc>
</Table>
<Table>
<Code>6</Code>
<Desc>New</Desc>
</Table>
<Table>
<Code>7</Code>
<Desc>New</Desc>
</Table>
</NewDataSet>


...全文
161 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
fangshaoshen 2011-06-07
  • 打赏
  • 举报
回复
好吧。 我好像来晚了
夜归人 2010-12-31
  • 打赏
  • 举报
回复
接分升星星
笨熊熊 2010-12-31
  • 打赏
  • 举报
回复
hwbox 2010-12-31
  • 打赏
  • 举报
回复
过年了结贴走人,三天不上来
Ghost_Khz 2010-12-31
  • 打赏
  • 举报
回复
额, 这么希望人来啊, 我来了。
hwbox 2010-12-31
  • 打赏
  • 举报
回复
还差两人
hangang7403 2010-12-31
  • 打赏
  • 举报
回复
恭喜楼主,接分
看看山观观海 2010-12-31
  • 打赏
  • 举报
回复
解决了啊,恭喜哦
hwbox 2010-12-30
  • 打赏
  • 举报
回复
来人吧,我散分
hwbox 2010-12-30
  • 打赏
  • 举报
回复
问题已解决,outmemoryStream在以前我用过一次,数据没清空

110,545

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧