我正在使用第三方网络服务。我得到了XML格式的响应。 现在,我必须在网格视图中显示XML节点值。 我到目前为止尝试了以下代码。
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
// Get the response stream
StreamReader reader = new StreamReader(response.GetResponseStream());
//Label2.Text = reader.ReadToEnd();
XmlDocument xml = new XmlDocument();
xml.Load(reader);
XmlNamespaceManager ns = new XmlNamespaceManager(xml.NameTable);
ns.AddNamespace("ms", "http://webservices.amazon.com/AWSECommerceService/2005-10-05");
XmlNode image = xml.SelectSingleNode("//ms:URL", ns);
XmlNode FormattedPrice = xml.SelectSingleNode("//ms:FormattedPrice", ns);
现在,我想在网格视图中显示XMLnode值的值。 如果您需要更多信息,请通知我。 提前谢谢。
答案 0 :(得分:0)
您可以使用XMLDataSource:
http://www.codeproject.com/Articles/10898/Introduction-to-XMLDataSource-control-in-ASP-NET-2
最好的问候。
答案 1 :(得分:0)
解决方案:
而不是在xmldocument中获取HttpResponse。 我使用了XNamespace和XDocument。
XNamespace ns = "http://webservices.amazon.com/AWSECommerceService/2005-10-05"; // Linq
XDocument xd = XDocument.Load(response.GetResponseStream());
然后使用Linq读取所有Vlaues。例如:
var Image = xd.Descendants(ns + "Items").Elements(ns + "Item").Select(img => img.Elements(ns + "MediumImage").Select(img1 => (string)img1.Element(ns + "URL")).FirstOrDefault() ?? "Null").ToList();