XML错误代码文件

本文关键字:文件 错误代码 XML | 更新日期: 2023-09-27 17:49:44

我们正在考虑使用xml文件来存储c#应用程序的错误代码。以下两种结构,哪一种更好?

<error>
<code>0x00000001</code>
<description>Error PIB: Clamp</description>
<reaction>Display</reaction>
</error>

<error code=0x00000001 >
<description>Error PIB: Clamp</description>
<reaction>Display</reaction>
</error>
还是你更好的建议?

似乎第二个节省了一些空间,更容易通过它查找?

我需要通过查找error code来获得descriptionreaction字符串。你有一个有效的方法来查找文件吗?

XML错误代码文件

如果您追求节省空间的技术,我建议首先不要使用XML:)

就我个人而言,我更喜欢第二种方法而不是第一种方法,但两种方法都有效。如果这真的只是为了查找,我建议在加载文件时将其转换为Dictionary<String, ErrorInformation>或类似的文件。(您可以将键值改为数字类型,但这当然需要解析值。)

LINQ to XML使得这种转换非常容易:

XDocument xml = XDocument.Load("errorcodes.xml");
var dictionary = xml.Descendants("error")
                    .ToDictionary(element => (string) element.Attribute("code"),
                                  element => new ErrorInformation(
                                      (string) element.Element("description"),
                                      (string) element.Element("reaction")));

一般来说,如果您希望code描述元素,请将其设置为属性。如果您希望code是一个元素(这意味着code也需要属性甚至子信息),则将其设置为子元素。

在你的代码中,选项2是最好的IMO