【发布时间】:2020-09-30 06:44:50
【问题描述】:
我以预定义的结构编写了一个 .cs 文件,用于读取特定类型的 XML 文件。该文件下面有更多的类。此时大约为 67 轮。
这是我在 .tcx 文件中读取的代码,这些文件是 XML 文件。
ModelData _xmlConfigData = new ModelData();
XmlSerializer _xmlSerializer = new XmlSerializer(typeof(ModelData));
try
{
using (FileStream filestream = new FileStream(xmlFilePath, FileMode.Open, FileAccess.Read))
{
_xmlConfigData = (ModelData)_xmlSerializer.Deserialize(filestream);
}
}
catch (Exception ex)
{
MessageBox.Show("Wrong XML structure read in. Please select another XML file:" + ex);
_xmlConfigData = null;
}
InvokeExtension.CreateListboxEntry(InvokeExtension.INFO + "TCX read successful", _lBox);
InvokeExtension.SetProgressbarValue(1000, _pBar);
读取数十万行没有错误。但是,如果我查看我的类对象(在调试时),子类会按字母顺序列出。我唯一要做的就是将 .tcx 读入 ModelData-class-object 并将其写入新文件。 这是我的作家代码:
编写新文件后,XML 结构看起来很完美,但与原始文件相比,现在一些子元素的排序方向不同。这导致了问题。我不知道为什么以及如何防止对子节点进行排序。在我看来,子节点在 XML 文件中的顺序并不重要。
【问题讨论】:
-
您必须将
[XmlElement]属性与XmlElementAttribute.Order属性一起用于每个 元素。 -
好的,我试试看。谢谢你
-
谢谢马特,您的信息解决了我的问题。请把它写成这个问题的答案,以获得一些声誉积分。
标签: c# .net xml serialization xml-serialization