Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将REST响应转换为XDocument时出现问题_C#_Xml_Rest - Fatal编程技术网

C# 将REST响应转换为XDocument时出现问题

C# 将REST响应转换为XDocument时出现问题,c#,xml,rest,C#,Xml,Rest,实际上,我正在使用通过REST调用的web服务API。当我得到响应时,我尝试将结果转换为XDocument,以便使用LINQ处理它 但是,当我将结果字符串传递给XDocumnet构造函数时,会抛出ArgumentException,告诉我“不能将非空白字符添加到内容中。”。不幸的是,我对web服务和XML编程非常陌生,所以我真的不知道如何解释这个异常 我希望有人能给我一个如何解决这个问题的提示 发布了一个小REST客户端。也许这是你的一个起点。我觉得你好像是在用一根绳子握住回应。如果是这种情况,

实际上,我正在使用通过REST调用的web服务API。当我得到响应时,我尝试将结果转换为XDocument,以便使用LINQ处理它

但是,当我将结果字符串传递给XDocumnet构造函数时,会抛出ArgumentException,告诉我“不能将非空白字符添加到内容中。”。不幸的是,我对web服务和XML编程非常陌生,所以我真的不知道如何解释这个异常


我希望有人能给我一个如何解决这个问题的提示

发布了一个小REST客户端。也许这是你的一个起点。

我觉得你好像是在用一根绳子握住回应。如果是这种情况,您可以尝试在XDocument上使用Parse方法,该方法用于从字符串中解析XML

string myResult = "<?xml blahblahblah>";
XDocument doc = XDocument.Parse(myResult);
string myResult=”“;
XDocument doc=XDocument.Parse(myResult);

这可能会也可能不会解决你的问题。这只是一个值得一试的建议,看看你是否得到了不同的结果。

以下是一个可以用来查询服务的示例:

class Program
{
    static void Main(string[] args)
    {
        using (WebClient client = new WebClient())
        using (Stream stream = client.OpenRead("http://ws.audioscrobbler.com/2.0/?method=album.getinfo&api_key=b25b959554ed76058ac220b7b2e0a026&artist=Cher&album=Believe"))
        using (TextReader reader = new StreamReader(stream))
        {
            XDocument xdoc = XDocument.Load(reader);
            var summaries = from element in xdoc.Descendants()
                    where element.Name == "summary"
                    select element;
            foreach (var summary in summaries)
            {
                Console.WriteLine(summary.Value);
            }
        }
    }
}

您需要发布返回的XML或用于调用的代码,这太少了,无法继续。如果我没记错的话,您可以只执行XDocument doc=XDocument.Load(“);DaveThanks,我将看看这篇博文。