【问题标题】:C# - Best way to parse xml like text and perform actionC# - 像文本一样解析 xml 并执行操作的最佳方法
【发布时间】:2011-01-24 04:12:02
【问题描述】:

我有一个小文本字符串,里面有类似 xml 的标签:

<sub>A</sub>B<sup>C</sup>

我需要解析此文本并根据标签执行操作。所以上面的文本在我的目标应用程序中看起来像 ABC (MS Excel - 如果我粘贴它,Excel可以解析和格式化这个字符串,但如果我只是输入它在一个单元格中)。

就性能而言,解析此类基于标签的文本的最佳方法是什么。格式化代码将被非常频繁地调用,我想尽可能地减少开销。我可以想到以下选项:

  1. 使用索引器逐个字符地解析它,跟踪标签的开始/结束时间
  2. 使用正则表达式
  3. 将其加载到一些 XML/HTML DOM 解析器中并遍历节点

您认为哪一项对性能的影响最小?有没有其他方法可以完成任务?

【问题讨论】:

    标签: c# excel text parser-generator


    【解决方案1】:

    不要重新发明轮子,尤其是do not use regular expressions

    使用现有的 XML 解析器。
    您应该使用 LINQ to XML。

    如果你实现它并发现它太慢,你可以切换到XmlReader,这将非常快但使用起来很烦人。
    记住;过早优化是万恶之源。

    【讨论】:

    • 我真的希望我能给你的不仅仅是 +1。
    猜你喜欢
    • 2018-01-17
    • 2010-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-03
    • 1970-01-01
    相关资源
    最近更新 更多