我正在将二维坐标保存在一个类似于以下结构的XML文件中:
<?xml version="1.0" encoding="utf-8" ?>
<grid>
<coordinate time="78">
<initial>540:672</initial>
<final>540:672</final>
</coordinate>
</grid>
我可以使用XmlTextReader打开XML文件并读取它,但是我该如何循环遍历坐标,以便检索初始节点和结束节点之间的时间属性和数据,并以某种类似于以下格式的方式返回: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;