Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.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# 加载XML文件时出错-";根级别的数据无效";_C#_Xml - Fatal编程技术网

C# 加载XML文件时出错-";根级别的数据无效";

C# 加载XML文件时出错-";根级别的数据无效";,c#,xml,C#,Xml,当我尝试加载时,我得到一个错误:“根级别的数据无效。第1行,位置1。”。以下是相关代码: string line; StreamReader file = new StreamReader(filepath); while ((line = file.ReadLine()) != null) { XDocument doc = XDocument.Load("http://api.discogs.com/release/" + line); //do processing } 它的工作

当我尝试加载时,我得到一个错误:“根级别的数据无效。第1行,位置1。”。以下是相关代码:

string line;
StreamReader file = new StreamReader(filepath);
while ((line = file.ReadLine()) != null)
{
  XDocument doc = XDocument.Load("http://api.discogs.com/release/" + line);
  //do processing
}
它的工作方式是,我在streamreader中打开一个文件,其中包含发布号列表,例如:

367315
123456
192837

然后我想把这些一个接一个地附加到url的其余部分,这样我就可以一次处理多个XML文件。然而,在加载XML时,我得到了提到的错误。我不知道这是什么原因。是格式良好还是编码?我希望任何人都能帮助我

默认情况下,该站点返回Json。。。要使其成为xml

            string text;
            using (WebClient client = new WebClient())
            {
                client.Headers["Accept"] = "application/xml";
                text = client.DownloadString(@"http://api.discogs.com/release/" + line);
            }

              var elements = XElement.Parse(text);
              var artists= elements.Descendants("artist")
                   .Select(e =>e.Element("role").Value 
                           + " " 
                           + e.Element("name").Value )
                   .ToList();

              artists.ForEach(Console.WriteLine);

链接的文件的内容为

    {"resp": {"status": true, "release": {"styles": ["Alternative Rock", "Pop 
Rock"], "videos": [{"duration": 351, "description": "Coldplay  a Rush of Bloo
d to the Head", "embed": true, "uri": "http://www.youtube.com/watch?
v=eoyyr1SFPCY", "title": "Coldplay  a Rush of Blood to the Head"}], "series": 
[], "labels": [{"name": "Parlophone", "entity_type": "1", "catno": "7243 5 40504 2 
8", "resource_url": "http://api.discogs.com/labels/2294", "id": 
2294, "entity_type_name": "Label"}, 
{"name": "Parlophone", "entity_type": "1", "catno": "540 
5042", "resource_url": "http://api.discogs.com/labels/2294", "id": etc etc etc

所以它是一个JSON文件。。使用JSONDeserializer获取数据。

返回的xml是一个片段。它没有根元素。不能使用带有片段的XmlDocument.Load

应该给你指出正确的方向

编辑:他的链接返回XML。这是我从Fiddler那里学到的:

HTTP/1.1 200 OK
Reproxy-Status: yes
Content-Type: application/xml; charset=utf-8
Date: Wed, 25 Jan 2012 23:02:42 GMT
Server: lighttpd
Content-Length: 10574
Proxy-Connection: Keep-Alive
Connection: Keep-Alive
Age: 0

<resp stat="ok" version="2.0"><release id="367315" status="Accepted"><images><image height="296" type="secondary" uri="http://api.discogs.com/image/R-367315-1169408807.jpeg" uri150="http://api.discogs.com/image/R-150-367315-1169408807.jpeg" width="600" /><image height="600" type="primary" uri="http://api.discogs.com/image/R-367315-1284410494.jpeg" uri150="http://api.discogs.com/image/R-150-367315-1284410494.jpeg" width="600" /><image height="463" type="secondary" uri="http://api.discogs.com/image/R-367315-1284410524.jpeg" uri150="http://api.discogs.com/image/R-150-367315-1284410524.jpeg" width="600" /><image height="591" type="secondary" uri="http://api.discogs.com/image/R-367315-1284410539.jpeg" uri150="http://api.discogs.com/image/R-150-367315-1284410539.jpeg" width="598" /><image height="600" type="secondary" uri="http://api.discogs.com/image/R-367315-1284410555.jpeg" uri150="http://api.discogs.com/image/R-150-367315-1284410555.jpeg" width="600" /><image height="600" type="secondary" uri="http://api.discogs.com/image/R-367315-1284410571.jpeg" uri150="http://api.discogs.com/image/R-150-367315-1284410571.jpeg" width="600" /><image height="600" type="secondary" uri="http://api.discogs.com/image/R-367315-1284410583.jpeg" uri150="http://api.discogs.com/image/R-150-367315-1284410583.jpeg" width="600" /><image height="600" type="secondary" uri="http://api.discogs.com/image/R-367315-1284410592.jpeg" uri150="http://api.discogs.com/image/R-150-367315-1284410592.jpeg" width="600" /><image height="600" type="secondary" uri="http://api.discogs.com/image/R-367315-1284410604.jpeg" uri150="http://api.discogs.com/image/R-150-367315-1284410604.jpeg" width="600" /><image height="600" type="secondary" uri="http://api.discogs.com/image/R-367315-1284410613.jpeg" uri150="http://api.discogs.com/image/R-150-367315-1284410613.jpeg" width="600" /><image height="600" type="secondary" uri="http://api.discogs.com/image/R-367315-1284410625.jpeg" uri150="http://api.discogs.com/image/R-150-367315-1284410625.jpeg" width="600" /><image height="463" type="secondary" uri="http://api.discogs.com/image/R-367315-1284410632.jpeg" uri150="http://api.discogs.com/image/R-150-367315-1284410632.jpeg" width="600" /><image height="152" type="secondary" uri="http://api.discogs.com/image/R-367315-1284410641.jpeg" uri150="http://api.discogs.com/image/R-150-367315-1284410641.jpeg" width="599" /></images><artists><artist><id>29735</id><name>Coldplay</name><anv /><join /><role /><tracks /></artist></artists><title>A Rush Of Blood To The Head</title><labels><label catno="7243 5 40504 2 8" name="Parlophone" /><label catno="540 5042" name="Parlophone" /></labels><extraartists><artist><id>1840230</id><name>Dan Keeling (2)</name><anv /><join /><role>A&amp;r</role><tracks /></artist><artist><id>257846</id><name>Audrey Riley</name><anv /><join /><role>Arranged By [String Arrangements]</role><tracks /></artist><artist><id>29735</id><name>Coldplay</name><anv /><join /><role>Arranged By [String Arrangements]</role><tracks /></artist><artist><id>471548</id><name>Blue Source</name><anv /><join /><role>Art Direction</role><tracks /></artist><artist><id>29735</id><name>Coldplay</name><anv /><join /><role>Art Direction</role><tracks /></artist><artist><id>2246115</id><name>Sølve Sundsbø</name><anv /><join /><role>Artwork [Cover Art]</role><tracks /></artist><artist><id>306452</id><name>Rik Simpson</name><anv /><join /><role>Engineer [Additional Engineering By]</role><tracks /></artist><artist><id>351549</id><name>Andrea Wright (2)</name><anv /><join /><role>Engineer [Assisted By]</role><tracks /></artist><artist><id>407167</id><name>Ben Thackeray</name><anv /><join /><role>Engineer [Assisted By]</role><tracks /></artist><artist><id>446281</id><name>Jon Bailey</name><anv /><join /><role>Engineer [Assisted By]</role><tracks /></artist><artist><id>1150797</id><name>Jon Withnall</name><anv>Jon Withnal</anv><join /><role>Engineer [Assisted By]</role><tracks /></artist><artist><id>251683</id><name>Ken Nelson</name><anv>Ken</anv><join /><role>Engineer [Engineered By]</role><tracks /></artist><artist><id>974611</id><name>Dave Holmes (7)</name><anv /><join /><role>Management</role><tracks /></artist><artist><id>1840237</id><name>Estelle Wilkinson</name><anv /><join /><role>Management</role><tracks /></artist><artist><id>1886107</id><name>Nettwerk Management</name><anv>Nettwerk</anv><join /><role>Management</role><tracks /></artist><artist><id>335003</id><name>George Marino</name><anv /><join /><role>Mastered By</role><tracks /></artist><artist><id>29735</id><name>Coldplay</name><anv /><join /><role>Mixed By</role><tracks /></artist><artist><id>113799</id><name>Danton Supple</name><anv /><join /><role>Mixed By</role><tracks>2, 3, 6, 8, 10</tracks></artist><artist><id>251683</id><name>Ken Nelson</name><anv /><join /><role>Mixed By</role><tracks /></artist><artist><id>251682</id><name>Mark Phythian</name><anv /><join /><role>Mixed By</role><tracks /></artist><artist><id>42610</id><name>Chris Martin</name><anv /><join /><role>Performer [Coldplay]</role><tracks /></artist><artist><id>530745</id><name>Guy Berryman</name><anv /><join /><role>Performer [Coldplay]</role><tracks /></artist><artist><id>530747</id><name>Jon Buckland</name><anv /><join /><role>Performer [Coldplay]</role><tracks /></artist><artist><id>530749</id><name>Phil Harvey</name><anv /><join /><role>Performer [Coldplay]</role><tracks /></artist><artist><id>530746</id><name>Will Champion</name><anv /><join /><role>Performer [Coldplay]</role><tracks /></artist><artist><id>2265953</id><name>Tom Sheehan (3)</name><anv /><join /><role>Photography By</role><tracks /></artist><artist><id>2247420</id><name>Zed Nelson</name><anv /><join /><role>Photography By</role><tracks /></artist><artist><id>29735</id><name>Coldplay</name><anv /><join /><role>Producer</role><tracks /></artist><artist><id>251683</id><name>Ken Nelson</name><anv /><join /><role>Producer</role><tracks /></artist><artist><id>251682</id><name>Mark Phythian</name><anv /><join /><role>Producer [Additional Production By]</role><tracks /></artist><artist><id>251683</id><name>Ken Nelson</name><anv>Ken</anv><join /><role>Recorded By</role><tracks /></artist><artist><id>251682</id><name>Mark Phythian</name><anv /><join /><role>Recorded By [With]</role><tracks /></artist><artist><id>42610</id><name>Chris Martin</name><anv>Martin</anv><join /><role>Songwriter</role><tracks /></artist><artist><id>530745</id><name>Guy Berryman</name><anv>Berryman</anv><join /><role>Songwriter</role><tracks /></artist><artist><id>530747</id><name>Jon Buckland</name><anv>Buckland</anv><join /><role>Songwriter</role><tracks /></artist><artist><id>530746</id><name>Will Champion</name><anv>Champion</anv><join /><role>Songwriter</role><tracks /></artist><artist><id>400611</id><name>Ann Lines</name><anv /><join /><role>Strings</role><tracks /></artist><artist><id>257846</id><name>Audrey Riley</name><anv /><join /><role>Strings</role><tracks /></artist><artist><id>274873</id><name>Chris Tombling</name><anv /><join /><role>Strings</role><tracks /></artist><artist><id>400609</id><name>Laura Melhuish</name><anv>Laura Melhewish</anv><join /><role>Strings</role><tracks /></artist><artist><id>303064</id><name>Leo Payne</name><anv /><join /><role>Strings</role><tracks /></artist><artist><id>273998</id><name>Peter Lale</name><anv /><join /><role>Strings</role><tracks /></artist><artist><id>400613</id><name>Richard George</name><anv /><join /><role>Strings</role><tracks /></artist><artist><id>273997</id><name>Sue Dench</name><anv>Susan Dench</anv><join /><role>Strings</role><tracks /></artist><artist><id>0</id><name>Berryman/Buckland/Champion/Martin</name><anv /><join /><role>Written By</role><tracks /></artist></extraartists><formats><format name="CD" qty="1"><descriptions><description>Album</description></descriptions></format></formats><genres><genre>Rock</genre></genres><styles><style>Alternative Rock</style><style>Pop Rock</style></styles><country>UK &amp; Europe</country><released>2002-08-26</released><notes>Recorded at Studio 2 Mayfair, Studio 3 Parr Street and Studio 1 Air between September 2001 and May 2002.
Mastered at Sterling Sound.

The Scientist is Dan.

℗ 2002 The copyright of this sound is owned by EMI Records Ltd. © 2002 EMI Records Ltd. 
[On back cover:] Published by BMG Music Publishing Ltd. Printed in the EU. Marketed and distributed by EMI.
[On CD label:] Made in EU.
This CD is Carbon Neutral courtesy of Future Forests
</notes><master_id>3354</master_id><data_quality>Correct</data_quality><tracklist><track><position>1</position><title>Politik</title><duration>5:18</duration></track><track><position>2</position><title>In My Place</title><duration>3:48</duration></track><track><position>3</position><title>God Put A Smile Upon Your Face</title><duration>4:57</duration></track><track><position>4</position><title>The Scientist</title><duration>5:09</duration></track><track><position>5</position><title>Clocks</title><duration>5:07</duration></track><track><position>6</position><title>Daylight</title><duration>5:27</duration></track><track><position>7</position><title>Green Eyes</title><duration>3:43</duration></track><track><position>8</position><title>Warning Sign</title><duration>5:31</duration></track><track><position>9</position><title>A Whisper</title><duration>3:58</duration></track><track><position>10</position><title>A Rush Of Blood To The Head</title><duration>5:51</duration></track><track><position>11</position><title>Amsterdam</title><duration>5:19</duration></track></tracklist><identifiers><identifier description="Text" type="Barcode" value="7 24354 05042 8" /><identifier description="Scanned" type="Barcode" value="724354050428" /><identifier type="Rights Society" value="BEL BIEM" /><identifier description="Distribution Code, France" type="Other" value="PM 520" /><identifier type="Label Code" value="LC0299" /><identifier description="Variant 1" type="Matrix / Runout" value="5405042" /><identifier description="Variant 2" type="Matrix / Runout" value="5405042 A838865-01 manufactured by optimal media production" /><identifier description="Mould SID Code, Variant 2" type="Other" value="IFPI 9712" /><identifier description="Mastering SID Code, Variant 2" type="Other" value="IFPI L573" /></identifiers><videos><video duration="351" embed="true" src="http://www.youtube.com/watch?v=eoyyr1SFPCY"><title>Coldplay  a Rush of Blood to the Head</title><description>Coldplay  a Rush of Blood to the Head</description></video></videos></release></resp>
HTTP/1.1200正常
重置状态:是
内容类型:application/xml;字符集=utf-8
日期:2012年1月25日星期三23:02:42 GMT
服务器:lighttpd
内容长度:10574
代理连接:保持活动状态
连接:保持活力
年龄:0

.

您试图打开的XML文件无效。如果你能以某种方式把它拉出来发布,我们可以告诉你更多。文件中的数字列表就这些吗?我去了链接并下载了文件-看起来像是JSON格式的。你确定它应该是XML吗?是的,它的mime显示json。更新了我的答案,以显示如何查询它以获取所需内容。我不知道我们可以将标题更改为所需文件。太棒了相当多的后端可以提供多种格式。。。。省去了很多麻烦!他试图使用XDocument,而不是XmlDocument——两种不同的东西;数据似乎默认为JSON,而不是XML。