Object reference not set to an instance of an object
我有以下代码-
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | private static void convert() { string csv = File.ReadAllText("test.csv"); XDocument doc = ConvertCsvToXML(csv, new[] {"," }); doc.Save("update.xml"); XmlTextReader reader = new XmlTextReader("update.xml"); XmlDocument testDoc = new XmlDocument(); testDoc.Load(@"update.xml"); XDocument turnip = XDocument.Load("update.xml"); webservice.function[] test = new webservice.function[1]; webservice.function CallWebService = new webservice.function(); foreach(XElement el in turnip.Descendants("row")) { test[0].com = System.Convert.ToInt32(el.Descendants("var").Where(x => (string)x.Attribute("name") =="com").SingleOrDefault().Attribute("value").Value); test[0].Centre = el.Descendants("var").Where(x => (string)x.Attribute("name") =="Centre").SingleOrDefault().Attribute("value").Value; test[0].CCentre = el.Descendants("var").Where(x => (string)x.Attribute("name") =="CCentre").SingleOrDefault().Attribute("value").Value; MessageBox.Show(test[0].person,"person"); MessageBox.Show(System.Convert.ToString(test[0].actually),"Actually"); MessageBox.Show(System.Convert.ToString(test[0].com),"Com"); CallWebService.updateFeedStatus(test); } |
出现错误-nullreferenceException未处理,说明对象引用未设置为对象的实例。第一行测试[0]发生错误。帐户。
我怎样才能克服这个问题?
初始化数组不会初始化数组中的对象。尝试在下面添加第二行(假设要使用默认构造函数):
1 2 |
我猜想您的XML有一个名称空间,您需要在Xname中包含所需元素,但是正如其他注释所提到的,没有完全公开,几乎没有什么可以做到的。