我使用Amazon API生成ItemLookup请求。签署请求后,我得到了一个网址:
我在浏览器中使用的,我可以看到带有项目数据的不错的xml,但是当我尝试用c#获取该数据时,我得到错误
Uri参数必须是文件系统相对路径或绝对路径。
我用来获取数据的方法是:
var itemXml = XElement.Load(url);
如何在c#??
中获取该xml答案 0 :(得分:3)
这不是.net核心特定的。
XElement.Load
接受一个字符串 - 如果你看一下intellisense状态:
从文件加载XElement。
这不是你想要的。它正在尝试从文件系统中解析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
(异步/等待)模式