【问题标题】:Writing Large Xml Files in .Net (with Validation)在 .Net 中编写大型 Xml 文件(带验证)
【发布时间】:2012-09-23 06:21:08
【问题描述】:

我的应用程序需要编写一个 Xml 文件,为此我有一个 XmlSchema。因为文件可能非常大,我认为将XmlSerializer与xsd.exe生成的类一起使用会有问题。

我知道我可以使用XmlWriter 编写任意大的 Xml 文件,但这意味着我必须手动写出每个元素和每个属性,这很容易出错。

是否有一个工具可以生成“特定于模式的”XmlWriter 类来帮助我避免错误?或者,至少,当我写一些非法的东西时会立即抛出异常?还有其他我不知道的方法吗?

-垫子

【问题讨论】:

  • 这很难说,因为这取决于用户选择的项目数量,但我猜最多 500 兆。

标签: .net xml-serialization xsd


【解决方案1】:

一种选择是在没有验证的情况下它,然后有一个额外的步骤读取它再次使用模式(使用XmlReader来读取,没有真正记住记忆中的任何东西)。该步骤可能是可选的 - 最初总是这样做,然后当您认为自己有任何错误时,您最终可以将其关闭以提高性能。 (可能保留代码,以便您可以轻松地再次打开它。)

当然,您不应该将它用作您的唯一检查 - 单元测试应该有助于阻止您走得那么远:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-30
    相关资源
    最近更新 更多