1

我想创建一个 xml 文件(100 行,5 个命名空间和 30 个不同的标签,总共 20 个属性)。我已经有一个硬编码的 xml 示例,但我需要编写一些 c# 代码来生成动态 xml 并填充值,这当然可以改变。性能是一个问题。

  1. 我是否应该使用linq to xml并使用XDocument 和 XElement创建所有标签并提供包含动态值的变量

  2. 因为我已经有一个 xml 示例,所以创建一个 schema.xsd 并将值提供给对象

xml(对象流)将每秒通过 HTTP POST 发送到 Web 服务。

我将对这两个版本进行时间测试,但我只是好奇是否有人已经这样做了。

4

1 回答 1

2

LINQ to XML 版本应该有更好的性能。

如果您想进一步优化它,您可能应该考虑直接字符串连接(但这不是最佳实践,性能提升不会很大)。

下一个性能选项将是 XmlTextWriter。可能是“正确”编写 XML 的最快方法——它不需要创建像 LINQ to XML 这样的 XML 对象模型,因此应该快得多。

如果您缓存 XmlSerializer 实例并且不会每次都创建它,则可以稍微优化序列化。然后它也会相对较快,尽管肯定比直接 XML 写入要慢。

于 2013-04-03T12:41:04.917 回答