xml错误代码文件

时间:2011-04-12 15:23:53

标签: c# .net xml

我们正在考虑使用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>

还是你更好的建议?

似乎第二个节省了一些空间并且通过它进行查找?

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

2 个答案:

答案 0 :(得分:5)

如果您使用的是节省空间的技术,我建议您不要首先使用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")));

答案 1 :(得分:1)

通常,如果您希望code描述元素,请将其设为属性。如果您希望code成为一个元素(意味着code也需要属性甚至是子信息),请将其设为子项。

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