Преобразуйте XmlDocument для строкового представления

Вот то, как я в настоящее время преобразовываю XMLDocument для Строкового представления

StringWriter stringWriter = new StringWriter();
XmlTextWriter xmlTextWriter = new XmlTextWriter(stringWriter);

xmlDoc.WriteTo(xmlTextWriter);

return stringWriter.ToString();

Проблема с этим методом состоит в том, что, если я имею "((кавычки), которые я имею в атрибутах) он выходит из них.

Например:

<Campaign name="ABC">
</Campaign>

Выше ожидаемый XML. Но это возвращается

<Campaign name=\"ABC\">
</Campaign>

Я могу сделать Строку. Замена "\", но является тем методом хорошо? Есть ли какие-либо побочные эффекты? Это будет хорошо работать, если сам XML будет содержать "\"

206
задан akif 8 March 2010 в 21:43
поделиться

3 ответа

Нет цитат. Это просто отладчик VS. Попробуйте распечатать на консоли или сохранить в файл, и вы увидите. В качестве примечания: всегда выбрасывайте одноразовые предметы:

using (var stringWriter = new StringWriter())
using (var xmlTextWriter = XmlWriter.Create(stringWriter))
{
    xmlDoc.WriteTo(xmlTextWriter);
    xmlTextWriter.Flush();
    return stringWriter.GetStringBuilder().ToString();
}
170
ответ дан 23 November 2019 в 04:46
поделиться

" в отладчике отображается как \", но данные в строке правильные, и вам не нужно ничего заменять. Попробуйте сделать дамп строки в файл, и вы увидите, что строка корректна.

2
ответ дан 23 November 2019 в 04:46
поделиться

Если xmlDoc является объектом XmlDocument, что не так с xmlDoc.OuterXml?

return xmlDoc.OuterXml;

Свойство OuterXml возвращает строковую версию xml.

630
ответ дан 23 November 2019 в 04:46
поделиться
Другие вопросы по тегам:

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