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
来获得description
和reaction
字符串。你有一个有效的方法来查找文件吗?
如果您追求节省空间的技术,我建议首先不要使用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