我想通过从数据库中获取数据来加载我创建的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;
}
答案 0 :(得分:0)
您的xml格式错误。您需要在结尾处关闭</ArrayOfBand>
。