【问题标题】:Generate XmlReader code to conserve writing code by hand in C#生成 XmlReader 代码以节省在 C# 中手动编写代码
【发布时间】:2016-12-20 06:23:08
【问题描述】:

我有一个需要在 C# 中解析的大型 XML。不幸的是,XML Serializer 类不是一个选项。我真的需要编写省时的代码。此外,我想保留手动编写不优雅的 XmlReader 代码。有什么想法吗?

【问题讨论】:

标签: c# .net xml


【解决方案1】:

尝试使用XDocument,跳过学习曲线后,使用 XDocument 读取/解析 XML 文件非常容易。

【讨论】:

  • 但它的 XDocument 与 XmlReader 相比确实很慢。我真的需要高效的 xml 解析代码。
  • 不过,我想肯定有人已经解决了这个问题。
【解决方案2】:

所以我需要手动编写代码。我选择使用混合方法。

private static IEnumerable<XElement> StreamElements(string fileName, string elementName)
    {
        using (XmlReader reader = XmlReader.Create(fileName))
        {
            while (reader.Name == elementName || reader.ReadToFollowing(elementName))
            {
                yield return (XElement)XNode.ReadFrom(reader);
            }
            reader.Close();
        }
    }

【讨论】:

    猜你喜欢
    • 2012-03-04
    • 2012-03-03
    • 1970-01-01
    • 2013-06-08
    • 1970-01-01
    • 2018-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多