Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#-解析类似xml的文本并执行操作的最佳方法_C#_Excel_Text_Parser Generator - Fatal编程技术网

C#-解析类似xml的文本并执行操作的最佳方法

C#-解析类似xml的文本并执行操作的最佳方法,c#,excel,text,parser-generator,C#,Excel,Text,Parser Generator,我有一个小文本字符串,里面有类似xml的标记: <sub>A</sub>B<sup>C</sup> ABC 我需要解析此文本并根据标记执行操作。因此,上面的文本在我的目标应用程序中看起来像ABC(MS Excel--Excel可以解析和格式化这个字符串,如果我粘贴它,但如果我只是在单元格中输入它,则不能) 就性能而言,解析这种类型的基于标记的文本的最佳方法是什么。格式化代码将被频繁调用,我希望尽可能减少开销。我可以想到以下几种选择: 使用索引器

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

<sub>A</sub>B<sup>C</sup>
ABC
我需要解析此文本并根据标记执行操作。因此,上面的文本在我的目标应用程序中看起来像ABC(MS Excel--Excel可以解析和格式化这个字符串,如果我粘贴它,但如果我只是在单元格中输入它,则不能)

就性能而言,解析这种类型的基于标记的文本的最佳方法是什么。格式化代码将被频繁调用,我希望尽可能减少开销。我可以想到以下几种选择:

  • 使用索引器逐个字符解析它,跟踪标记的开始/结束时间
  • 使用正则表达式
  • 将其加载到某个XML/HTMLDOM解析器中,并遍历节点

  • 您认为哪一项对性能的影响最小?我还有什么办法可以完成这项任务吗?

    不要重新发明轮子,尤其是

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

    如果您实现了它并且发现它太慢,您可以切换到
    XmlReader
    ,这将非常快,但使用起来很烦人。

    记得;过早优化是万恶之源。

    不要重新发明轮子,尤其是

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

    如果您实现了它并且发现它太慢,您可以切换到
    XmlReader
    ,这将非常快,但使用起来很烦人。

    记得;过早优化是万恶之源。

    我真的希望我能给你更多a+1。我真的希望我能给你更多a+1。