2011-01-24 2 views
0

У меня есть небольшая текстовая строка с XML, как теги внутри него:C# - Лучший способ разбора XML как текст и выполнить действие

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

Мне нужно разобрать этот текст и выполнять действия на основе тегов. Таким образом, вышеприведенный текст будет выглядеть так: A B C в моем целевом приложении (MS Excel - Excel может анализировать и форматировать эту строку, если я вставляю ее, но не, если я просто введите ее в ячейку).

Каков наилучший способ синтаксического анализа текста типа тега с точки зрения производительности. Код форматирования будет вызываться очень часто, и я хочу как можно больше минимизировать накладные расходы. Я могу думать о следующих вариантах:

  1. Разобрать его посимвольно с помощью Индексатор отслеживания того, когда метка начала/закончилась
  2. Использование регулярных выражений
  3. загрузить его в какой-нибудь XML/HTML DOM Parser и итерации через узлы

Какой, по вашему мнению, будет иметь наименьшее влияние на производительность? Любой другой способ я могу выполнить задачу?

ответ

4

Не изобретайте колесо, и особенноdo not use regular expressions.

Использовать существующий синтаксический анализатор XML.
Вы должны использовать LINQ to XML.

Если вы реализуете это и находите его слишком медленно, вы можете переключиться на XmlReader, который будет очень быстрым, но раздражающим для работы.
запомнить; преждевременная оптимизация - это корень всего зла.

+0

Я действительно хочу, чтобы я мог дать вам больше, чем +1. –

Смежные вопросы