获取xml前几条记录

b327114069 2011-08-22 03:51:46
public static string GetWorkEnchiridionTitleListTop()
{
StringBuilder strHtml = new StringBuilder();
DataSet ds = new DataSet();
service_IGovernmentAffair.IGovernmentAffair service = new service_IGovernmentAffair.IGovernmentAffair();
string strXml = service.GetWorkEnchiridionTitleListWidthoutCata("");//获取所有的记录
if (strXml.Length > 0 && strXml != "<root />" && strXml.StartsWith("error") == false)
{
XmlDataDocument tmpXml = new XmlDataDocument();
tmpXml.LoadXml(strXml);
ds.ReadXml(new XmlNodeReader(tmpXml));

}
if (ds.Tables.Count > 0)
{
foreach (DataRow tmpRow in ds.Tables[0].Rows)
{
string strtext = StrDeEnode(tmpRow["title_Text"].ToString());
if (strtext.Length > 32)
{
strtext = strtext.Remove(32) + "...";
}

tmpRow["title_Text"] = "<a href='www.xmsmjk.com/zwgk/content.aspx?type=0&id=" + tmpRow["id"].ToString() + "' target='_blank'>" + strtext + "</a>";
strHtml.AppendLine("<div>");
strHtml.AppendLine(tmpRow["title_Text"].ToString());
strHtml.AppendLine("</div>");
}

}

return strHtml.ToString();
}

以上代码能生成所有的记录,怎么判断让他生成前几条记录
...全文
74 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
改用for循环
或者加个变量
if (ds.Tables.Count > 0)
{
int i = 0;
foreach (DataRow tmpRow in ds.Tables[0].Rows)
{
string strtext = StrDeEnode(tmpRow["title_Text"].ToString());
if(i>10)break; //取前面10条纪录
//处理..
i++;
}
}
huangwenquan123 2011-08-22
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 b327114069 的回复:]
引用 5 楼 huangwenquan123 的回复:
那你就不要遍历所有的行

C# code


foreach (DataRow tmpRow in ds.Tables[0].Rows)
=>
//只循环获取你要的行数
//循环前先判断下table的row是否有不小于你要的行数
for(int i=0;i<10;i++)


for的我懂,foreach 能进行判断……
[/Quote]可以,弄个变量,每循环一次加1,当到你要求的行数时break;跳出循环就可以。
不过这样还不如直接用for
b327114069 2011-08-22
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 huangwenquan123 的回复:]
那你就不要遍历所有的行

C# code


foreach (DataRow tmpRow in ds.Tables[0].Rows)
=>
//只循环获取你要的行数
//循环前先判断下table的row是否有不小于你要的行数
for(int i=0;i<10;i++)
[/Quote]

for的我懂,foreach 能进行判断吗
huangwenquan123 2011-08-22
  • 打赏
  • 举报
回复
那你就不要遍历所有的行

foreach (DataRow tmpRow in ds.Tables[0].Rows)
=>
//只循环获取你要的行数
//循环前先判断下table的row是否有不小于你要的行数
for(int i=0;i<10;i++)
b327114069 2011-08-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wxr0323 的回复:]
string strXml = service.GetWorkEnchiridionTitleListWidthoutCata("");//获取所有的记录

传进去什么参数 让他获取前几条记录不就行了。
[/Quote]

不能改接口的。 怎么通过判断来获取前几条数据呢
子夜__ 2011-08-22
  • 打赏
  • 举报
回复
string strXml = service.GetWorkEnchiridionTitleListWidthoutCata("");//获取所有的记录

传进去什么参数 让他获取前几条记录不就行了。
摩羯伙夫 2011-08-22
  • 打赏
  • 举报
回复
帮顶

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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