我有以下代码,我在其中尝试发出查询 yahoo api 的请求以返回 whoid。但是我无法生成 XML 来查询它,错误没有显示。
private string getWOEID()
{
string woeID = "";
String reqUrl = "http://query.yahooapis.com/v1/public/yql?q=select%20woeid%20from%20geo.places%20where%20text%3D%22farnborough%2Champshire%2Cuk%22&format=xml";
HttpWebRequest wr = (HttpWebRequest)WebRequest.Create(reqUrl);
//load the response into a response object
WebResponse resp = wr.GetResponse();
// create a new stream that can be placed into an XmlTextReader
Stream str = resp.GetResponseStream();
XmlTextReader reader = new XmlTextReader(str);
reader.XmlResolver = null;
// create a new Xml document and loading feed data in to it
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(reader);
//query the woeid with using linq
XDocument doc = XDocument.Parse(xmldoc.ToString());
woeID = doc.Descendants()
.Where(element => element.Name == "woeid")
.FirstOrDefault().Value;
return woeID;
}
是否有更好/更容易从响应生成 XML 文档的方法?
非常感谢,
最佳答案
比我想象的容易得多,请参阅 http://developer.yahoo.com/dotnet/howto-xml_cs.html
String reqUrl = "http://query.yahooapis.com/v1/public/yql?q=select%20woeid%20from%20geo.places%20where%20text%3D%22farnborough%2Champshire%2Cuk%22&format=xml";
XmlDocument doc = new XmlDocument();
doc.Load(reqUrl);
关于c# - 从 .net 代码使用雅虎网络服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1949555/