Я сохраняю 2-мерные координаты в файле XML со структурой, похожей на:
<?xml version="1.0" encoding="utf-8" ?>
<grid>
<coordinate time="78">
<initial>540:672</initial>
<final>540:672</final>
</coordinate>
</grid>
Я могу открыть XML файл и прочитать его с помощью XmlTextReader, но как я прокручиваю координаты специально для извлечения как атрибута времени, так и данных между начальным и конечным узлами в некотором формате, подобным:
string initial = "540:672";
string final = "540:672";
int time = 78;
Новый код:
Мой новый код:
//Read the XML file.
XDocument xmlDoc = XDocument.Load("C:\\test.xml");
foreach (var coordinate in xmlDoc.Descendants("coordinate"))
{
this.coordinates[this.counter][0] = coordinate.Attribute("time").Value;
this.coordinates[this.counter][1] = coordinate.Element("initial").Value;
this.coordinates[this.counter][2] = coordinate.Element("final").Value;
this.counter++;
};
но теперь я получаю эту ошибку:
Msgstr "Ссылка на объект не установлена в экземпляр объекта."
XML
<?xml version="1.0" encoding="utf-8"?>
<grid>
<coordinate time="62">
<initial>540:672</initial>
<final>540:672</final>
</coordinate>
...
<coordinate time="46">
<initial>176:605</initial>
<final>181:617</final>
</coordinate>
</grid>
Пропустили несколько тегов координат, чтобы они соответствовали, но все они имели атрибут времени и начальные/конечные subtags.
Глобалы
uint counter = 0;
// Coordinates to be retrieved from the XML file.
string[][] coordinates;