0

タグのようなxmlを含む小さなテキスト文字列があります:

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

このテキストを解析し、タグに基づいてアクションを実行する必要があります。したがって、上記のテキストは、ターゲットアプリケーションではA B Cのようになります(MS Excel-この文字列を貼り付けるとExcelで解析およびフォーマットできますが、セルに入力するだけではできません)。

パフォーマンスの観点から、このタイプのタグベースのテキストを解析するための最良の方法は何ですか。フォーマットコードは非常に頻繁に呼び出されるため、オーバーヘッドを可能な限り最小限に抑えたいと思います。私は次のオプションを考えることができます:

  1. タグがいつ開始/終了したかを追跡するインデクサーを使用して、文字ごとに解析します
  2. 正規表現を使用する
  3. それをいくつかのXML/HTML DOMパーサーにロードし、ノードを反復処理します

パフォーマンスへの影響が最も少ないのはどれだと思いますか?タスクを完了する他の方法はありますか?

4

1 に答える 1

4

車輪の再発明をしないでください。特に 正規表現を使用しないでください。

既存のXMLパーサーを使用します。
LINQtoXMLを使用する必要があります。

それを実装して遅すぎる場合は、に切り替えることができますXmlReader。これは非常に高速ですが、操作が面倒です。
覚えて; 時期尚早の最適化はすべての悪の根源です。

于 2011-01-24T04:14:26.270 に答える