gpt4 book ai didi

c# - asp.net core无法从url获取xml数据

转载 作者:太空宇宙 更新时间:2023-11-03 19:47:28 24 4
gpt4 key购买 nike

我正在使用 Amazon API 生成 ItemLookup 请求。签署请求后,我得到了一个 url:

http://webservices.amazon.com/onca/xml?AWSAccessKeyId=[AccessKey]&AssociateTag=[AssociateTag]&ItemId=B06XBCY6DW&Operation=ItemLookup&ResponseGroup=Images%2CItemAttributes%2COffers%2CReviews&Service=AWSECommerceService&Timestamp=2050-02-13T12:00:00Z&Version=2016-02-12&Signature=[Signature]

我在浏览器中使用它,我可以看到带有项目数据的漂亮 xml,但是当我尝试使用 c# 获取该数据时出现错误

The Uri parameter must be a file system relative or absolute path.

我用来获取数据的方法是:

var itemXml = XElement.Load(url);

如何在 C# 中获取该 xml?

最佳答案

这不是 .net 核心特有的。

XElement.Load 接受一个字符串 - 如果您查看 intellisense 状态:

Loads an XElement from a file.

这不是您想要的。它正在尝试从文件系统解析 URI。

您需要将 URL 内容读入 Stream。

尝试以下操作

var httpClient = new HttpClient();
var result = httpClient.GetAsync(url).Result;

var stream = result.Content.ReadAsStreamAsync().Result;

var itemXml = XElement.Load(stream);

请注意,我使用了 .Result - 我建议改为使用 await(异步/等待)模式

关于c# - asp.net core无法从url获取xml数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43675608/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com