Вот как я сейчас конвертирую XMLDocument в String
StringWriter stringWriter = new StringWriter();
XmlTextWriter xmlTextWriter = new XmlTextWriter(stringWriter);
xmlDoc.WriteTo(xmlTextWriter);
return stringWriter.ToString();
Проблема с этим методом заключается в том, что если у меня есть " ((цитаты), которые есть в атрибутах), он избегает их.
Например:
<Campaign name="ABC">
</Campaign>
Выше ожидаемый XML. Но это возвращается
<Campaign name=\"ABC\">
</Campaign>
Я могу сделать String.Replace "\", но этот метод в порядке? Есть ли побочные эффекты? Будет ли это работать нормально, если сам XML содержит "\"
using
блоков, а неXmlTextWriter
.Flush
, хотя вызовClose
или просто закрытиеxmlTextWriter
using
блока сделало бы то же самое.Предполагая, что xmlDoc является объектом XmlDocument, что не так с xmlDoc.OuterXml?
Свойство OuterXml возвращает строковую версию xml.
источник
Если вы используете
Windows.Data.Xml.Dom.XmlDocument
версиюXmlDocument
(используемую в приложениях UWP, например), вы можете использоватьyourXmlDocument.GetXml()
для получения XML в виде строки.источник
Как метод расширения:
Теперь использовать просто:
источник
"
отображается как\"
в отладчике, но в строке указаны правильные данные, и вам не нужно ничего заменять. Попробуйте вывести свою строку в файл, и вы заметите, что строка правильная.источник