Преобразование документа XML для поиска и замены & # xD; & # xA; ценности
У меня есть XML-документ, в котором есть SQL-запрос. Допустим, это выглядит, например, так:
<commandText> Select ProductID, ProductName
From Product</commandText>
Когда это запускается через octopack и развертывается (через octopus deploy) на моем сервере, это выглядит так:
<commandText> Select ProductID, ProductName
 From Product</commandText>
(Новая строка была преобразована в 

)
Есть ли xml-преобразование, которое я могу запустить после того, как было сделано это изменение, чтобы преобразовать его обратно? (или хотя бы удалить 

)
ПРИМЕЧАНИЕ. Мой фактический запрос - сложный оператор слияния, поэтому я бы предпочел, чтобы его не было в нескольких местах.
2 ответа
Что вам нужно, так это описанная здесь WHITESPACE PRESERVE функция сохранения XmlDocument https://msdn.microsoft.com/en-us/library/system.xml.xmldocument.preservewhitespace%28v=vs.110%29.aspx
Второй (и лучший) подход - позволить XML-декодированию автоматически. Вы используете неправильный метод, чтобы прочитать оператор выбора;)
Не уверен, что это поможет, но если я запускаю этот код (в Linqpad)
string x = "<commandText> Select ProductID, ProductName
 From Product</commandText>";
var wrapper = new StringReader(x);
XmlReader xr = XmlReader.Create(wrapper);
xr.MoveToContent();
xr.ReadOuterXml().Dump();
Я получаю этот буквальный вывод:
<commandText> Select ProductID, ProductName
From Product</commandText>
Поэтому, если вы используете XmlReader на сервере, не должно быть необходимости манипулировать объектами посредством преобразования. XmlReader должен их правильно интерпретировать. Не уверен, что это была проблема, хотя...