Каковы преимущества использования StringBuilder по сравнению с XmlDocument или связанных с ним для создания документов XML? - PullRequest
1 голос
/ 22 апреля 2010

Это может быть немного запаха кода , но я видел, что это некоторый производственный код, а именно использование StringBuilder в отличие от XmlDocument при создании документов XML.В некоторых случаях это операции однократной записи (например, создание документа и его сохранение на диск), когда другие передают встроенную строку в XmlDocument для предварительной XslTransform в документ, который возвращается клиенту.

Итак, очевидный вопрос: есть ли смысл делать вещи таким образом, это то, что должно быть сделано в каждом конкретном случае, или это неправильный способ делать вещи?

Ответы [ 2 ]

6 голосов
/ 22 апреля 2010

Я бы рекомендовал использовать XMLTextWriter для создания XML-документов, которые (цитата из MSDN):

Представляет писателя, который обеспечивает быстрый, не кэшированный, только для пересылки способ генерации потоков или файлов содержащие данные XML, соответствующие расширяемый язык разметки W3C (XML) 1.0 и пространства имен в XML рекомендации.

Я использовал его много раз - более производительно, чем при использовании XMLDocument, с безопасностью XML, которую вы не получаете с StringBuilder.

2 голосов
/ 22 апреля 2010

XmlDocument - это трудная задача для создания XML, поэтому большинство людей не удосуживаются его использовать. StringBuilder легок, но не знает XML, поэтому не проверяет структуру вообще. Вы можете получить лучшее из обоих миров с LINQ to XML. Это позволяет вам легко создавать корректный XML без лишних глупостей. Прочтите эту статью , если вы не знакомы с использованием Linq to XML для создания XML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...