【问题标题】:xml error code filexml错误代码文件
【发布时间】:2011-08-04 00:08:19
【问题描述】:

我们正在考虑使用 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 字符串。你有一个有效的方法来查找文件吗?

【问题讨论】:

标签: c# .net xml


【解决方案1】:

如果您使用节省空间技术,我建议您一开始就不要使用 XML :)

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

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, xml != 节省空间。为了节省空间,您可以使用 JSON 对象之类的东西。与 XML 相比,存储在 JSON 中的信息要少得多。只是,XML 在代码中更容易处理。如果空间不是什么大不了的事,我真的很喜欢这里给出的方法。非常简单易懂
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-12
    • 1970-01-01
    • 2010-09-18
    • 2013-07-05
    • 1970-01-01
    • 1970-01-01
    • 2018-07-10
    相关资源
    最近更新 更多