XmlException未处理

时间:2013-12-17 10:10:57

标签: c# xml

我想通过从数据库中获取数据来加载我创建的XML文件。 但是,如果我想读取该数据,则说第1行有错误。 第1行确实很奇怪,因为我从未要求过“ArrayOfBand”。但即使它在那里,当我提出一个断点时,我得到了所有的乐队。它只是在最后一步崩溃了。错误HRESULT:0xC00CE556

localhost上的XAML

<ArrayOfBand xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
             xmlns="http://schemas.datacontract.org/2004/07/WindowsStoreApp.Models">
  <Band>
    <Description>Noorse DJ</Description>
    <Facebook>Avicii</Facebook>
    <ID>156</ID>
    <Name>Avicii</Name>
    <Picture>..\Images\Avicii.jpg</Picture>
    <Twitter>#Avicii</Twitter>
  </Band>
  <Band>
    <Description>Heavy Metal</Description>
    <Facebook>A7X</Facebook>
    <ID>157</ID>
    <Name>Avenged Sevenfold</Name>
    <Picture>..\Images\A7X.jpg</Picture>
    <Twitter>#A7X</Twitter>
 </Band>
</ArrayOfBand>

C#xml阅读器

     string m_strFilePath = "http://localhost:17281/api/Band";
        XmlDocument myXmlDocument = new XmlDocument();
        myXmlDocument.Load(m_strFilePath); //Load NOT LoadXml

        XmlNodeList elemList = myXmlDocument.GetElementsByTagName("Band");

        for (int i = 0; i < elemList.Count; i++)
        {
            XAML station = new XAML() {
                                 ID = elemList[i].Attributes["ID"].InnerText,
                                 Name = elemList[i].Attributes["Name"].InnerText
                               };
            list.Add(station);
        }

        return list;
        }

c# for creating the xml file

你可以看到我不是要求“ArrayOfBand”。如果我拿走文件并删除“ArrayOfBand”它完美无缺。任何人都知道它为什么存在?      public static List GetBands()             {                 List list = new List();                 DbDataReader reader = Database.GetData(“SELECT * FROM Band”);

            while (reader.Read())
            {
                Band b = new Band();
                b.ID = reader["ID"].ToString();
                b.Name = reader["Name"].ToString();
                b.Picture = reader["Picture"].ToString();
                b.Description = reader["Description"].ToString();
                b.Twitter = reader["Twitter"].ToString();
                b.Facebook = reader["Facebook"].ToString();
                list.Add(b);
            }

            return list;
        }

1 个答案:

答案 0 :(得分:0)

您的xml格式错误。您需要在结尾处关闭</ArrayOfBand>