[英]URI formats are not supported Error streamreader
我正在尝试从URL解析XML,我的代码是
public List<docs> parsexml(string url, string siteType)
{
var docsList = new List<docs>();
using (var xmlReader = new StreamReader(url))
{
var doc = XDocument.Load(url);
XNamespace nameSpace = "/response/result/";
var xmlProducts = doc.Descendants(nameSpace + "docs");
我不知道在流阅读器旁边使用什么。 有什么建议吗?
这应该工作:
Uri uri = new Uri("file:///c:/Test/file.xml");
WebResponse response = WebRequest.Create(uri).GetResponse();
using(Stream s = response.GetResponseStream()) {
using (StreamReader sr = new StreamReader(s)) {
var doc = XDocument.Load(sr);
.........
}
}
您应该可以只使用WebClient ,而无需进行太多代码更改。
public List<docs> parsexml(string url, string siteType)
{
var docsList = new List<docs>();
using (var client = new WebClient())
using (var stream = client.OpenRead (url))
{
var doc = XDocument.Load(stream);
XNamespace nameSpace = "/response/result/";
var xmlProducts = doc.Descendants(nameSpace + "docs");
...
...或者,也许更好,您可以通过将URL传递给XDocument.Load();来简化它。
public List<docs> parsexml(string url, string siteType)
{
var docsList = new List<docs>();
var doc = XDocument.Load(url);
XNamespace nameSpace = "/response/result/";
var xmlProducts = doc.Descendants(nameSpace + "docs");
...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.