Я сохраняю двухмерные координаты в файле 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++;
};
но теперь я получаю эту ошибку:
«Ссылка на объект не установлена для экземпляра объекта.»
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>
Пропущено несколько тегов координат, но все они имеют атрибут времени и начальные / конечные подтеги.
Глобал
uint counter = 0;
// Coordinates to be retrieved from the XML file.
string[][] coordinates;