Как записать Систему. Xml. Linq. XElement использование XmlWriter к потоку

Смотрите на Усовершенствованное Руководство по созданию сценариев Bash для большого количества мудрости на сценариях оболочки - не просто Bash, также.

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

, Как указано, нет большого количества "лучших практик" или "шаблонов разработки" для сценариев оболочки. Различное использование имеет различные инструкции и предвзятость - как любой другой язык программирования.

6
задан abatishchev 24 November 2011 в 09:08
поделиться

1 ответ

Вы не показали, что делает GetXmlWriter ... но пробовали ли вы просто очистить писатель?

xmlWriter.Flush();

В качестве альтернативы оберните XmlWriter в другой , используя Оператор :

using (var stream = new MemoryStream())
{
  var xmlReader = new XDocument(xml).CreateReader();
  xmlReader.MoveToContent();
  using (var xmlWriter = GetXmlWriter(stream))
  {
      xmlWriter.WriteNode(xmlReader, true);
  }
  return stream.ToArray();
}

Возможно, вы захотите сделать то же самое для XmlReader , хотя в данном конкретном случае я не думаю, что вам это особенно нужно.

Сказав все это, Я не совсем понимаю, зачем вы вообще используете XmlReader . По какой причине вы не можете просто найти соответствующий XElement и использовать XElement.WriteTo (XmlWriter) ? Или, если вы пытаетесь скопировать весь документ, просто используйте XDocument.WriteTo (XmlWriter)

10
ответ дан 10 December 2019 в 00:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: