System.Xml.XmlException:意外的XML声明.XML声明必须是第一个

Đức*_*Bùi -2 c# xml linq-to-xml xml-parsing windows-phone-8

我在编辑后将字符串解析为XDocument时出现此错误并保存.但任何人都可以帮我找到错误位置 - 第1行,第10475位.我怎么能得到那个位置?

System.Xml.XmlException:意外的XML声明.XML声明必须是文档中的第一个节点,并且不允许在其前面显示空白字符.第1行,第10475位.

if (storage.FileExists("APPSDATA.xml"))
{
  var reader = new StreamReader(new IsolatedStorageFileStream("APPSDATA.xml", FileMode.Open, storage));

  string xml = reader.ReadToEnd();
  var xdoc = XDocument.Parse(xml);//error here 
  reader.Close(); 
Run Code Online (Sandbox Code Playgroud)

XML很大,这是jus的一部分

<?xml version="1.0" encoding="UTF-8"?>
<Ungdungs>
  <Ungdung>
    <Name>HERE City Lens</Name>
    <Id>b0a0ac22-cf9e-45ba-8120-815450e2fd71</Id>
    <Path>/Icon/herecitylens.png</Path>
    <Version>1.0.0.0</Version>
    <Category>HERE</Category>
    <Date>Uknown</Date>
  </Ungdung>
  <Ungdung>
    <Name>HERE Transit</Name>
    <Id>adfdad16-b54a-4ec3-b11e-66bd691be4e6</Id>
    <Path>/Icon/heretransit.png</Path>
    <Version>1.0.0.0</Version>
    <Category>HERE</Category>
    <Date>Uknown</Date>
  </Ungdung>
Run Code Online (Sandbox Code Playgroud)

Dim*_*rov 6

确保你的<?xml标签是文档中的第一件事(并且它之前没有任何东西,包括空格).你可以有<?xml每个文档只有一次,所以如果你有一大块XML的,你有这个标记的地方反复向下行的文件将是无效的.