首页 新闻 会员 周边

怎样获取XML中数据的前12条数据?

0
悬赏园豆:20 [已解决问题] 解决于 2009-06-16 14:27

<data>

  <FcCom id="75" company="啊啊" scompany="上社产" />
  <FcCom id="4" company="发有限公司" scompany="联泰房产" />
  <FcCom id="3" company="公司汕头公司" scompany="中信房产" />
  ……………………
  假如有这样一段XML文件,我想显示前12条数据,请问该怎么写呢?
问题补充: 显示scompany该属性的前12条
LoveO(∩_∩)O的主页 LoveO(∩_∩)O | 初学一级 | 园豆:55
提问于:2009-06-13 18:06
< >
分享
最佳答案
0

对上面的朋友答复做一点补充:

XDocument doc = XDocument.Parse(xml);
var list = (from node in doc.Root.Descendants("FcCom")

            where node.Attribute("scompany")!=null
           select node.Attribute("scompany").Value).Take(12);

如果要加上排序,分页等,你可以再自己看看OrderBy()和Skip()方法。

Weizheng | 小虾三级 |园豆:515 | 2009-06-14 22:51
其他回答(4)
0

用XmlSerializer反序列化得到FcCom列表,然后取出前12个。XmlSerializer怎么用搜一下就有了。给你个例子吧:

XmlSerializer xs=new XmlSerializer(typeof(Person));
Stream stream = new FileStream("c:\\xxx.xml", FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
Person p=(Person)xs.Deserialize(stream);

CoderZh | 园豆:298 (菜鸟二级) | 2009-06-14 01:05
0

用foreach循环,加个count判断下就OK了

伊牛娃 | 园豆:207 (菜鸟二级) | 2009-06-14 10:20
0

linq to xml

Jerry Qian | 园豆:19 (初学一级) | 2009-06-14 18:23
0

string xml =
@"<data>
    <FcCom id=""75"" company=""啊啊"" scompany=""上社产"" />
    <FcCom id=""4"" company=""发有限公司"" scompany=""联泰房产"" />
    <FcCom id=""3"" company=""公司汕头公司"" scompany=""中信房产"" />
</data>";

XDocument doc = XDocument.Parse(xml);
var list = from node in doc.Root.Descendants("FcCom")
           select node.Attribute("scompany").Value;

foreach (var attr in list)
{
    Console.WriteLine(attr);
}

Gray Zhang | 园豆:17610 (专家六级) | 2009-06-14 18:24
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册