0

リンクのFacebookのいいねの総数を取得しようとしています。リンクをブラウザに貼り付けて、xml応答を確認します

これが私がしていることです:

var link = "https://api.facebook.com/method/fql.query?query=select%20%20like_count,%20total_count,%20share_count,%20click_count%20from%20link_stat%20where%20url=%22http://micgadget.com/29723/the-undercover-report-on-how-the-new-iphone-5-is-made-inside-foxconn-factory/%22";
//var xml = MakeRequest(link);
XDocument xdoc = XDocument.Load(link);

var likes = (from e in xdoc.Descendants("total_count")
             select e).SingleOrDefault().Value;
return int.Parse(likes);

linqクエリでオブジェクト参照クエリをスローしています。応答からtoal_countを取得するにはどうすればよいですか?

ありがとう

4

2 に答える 2

1

試す、

var link = "https://api.facebook.com/method/fql.query?query=select%20%20like_count,%20total_count,%20share_count,%20click_count%20from%20link_stat%20where%20url=%22http://micgadget.com/29723/the-undercover-report-on-how-the-new-iphone-5-is-made-inside-foxconn-factory/%22";
//var xml = MakeRequest(link);
XDocument xdoc = XDocument.Load(link);

var query =  xdoc.Descendants().SingleOrDefault(o => o.Name.LocalName == "total_count");

if (!(query == null))
{
    int count = int.Parse(query.Value);
}
于 2012-09-12T15:31:30.470 に答える
1

まず、total_Countには子孫がないため、その要素の値が必要な場合はクエリできません。次に、結果のXML要素に名前空間が含まれます。その要素の.valueを検索するときに、これらを含める必要があります。このようなものを試してください

var link = "https://api.facebook.com/method/fql.query?query=select%20%20like_count,%20total_count,%20share_count,%20click_count%20from%20link_stat%20where%20url=%22http://micgadget.com/29723/the-undercover-report-on-how-the-new-iphone-5-is-made-inside-foxconn-factory/%22";
XDocument xdoc = XDocument.Load(link);
XNamespace ns = xdoc.Root.Attribute("xmlns").Value;

var likes = (from e in xdoc.Descendants() where e.Name == ns + "total_count"
             select e.Value).SingleOrDefault();
于 2012-09-12T15:54:05.527 に答える