Как преобразовать построитель строк в строку без escape-последовательности в преобразованной строке - PullRequest
1 голос
/ 27 октября 2009

Я записываю некоторые данные XML для струнщика. Я хочу передать значения в stringwriter в базу данных, но когда я конвертирую его в строку типа

StringWriter.GetStringBuilder (). ToString () преобразует все "(двойные кавычки) в \"

Поэтому, когда я передаю это в базу данных в качестве параметра и когда я пытаюсь прочитать данные с использованием openXML, возникает ошибка.

Есть ли способ обойти это?

Я использую ASP.NET 2.0
SQl сервер 2005

спасибо!

1 Ответ

4 голосов
/ 27 октября 2009

Я сильно подозреваю, что вы смотрите на отладчик. Это покажет экранированную форму, но кавычки на самом деле не будут в строке, если они не должны быть.

Я предлагаю вам как-нибудь записать строку - тогда вы увидите реальные данные, и я предполагаю, что они не будут содержать обратных слешей - при условии, что вы не записали никаких обратных слешей в StringWriter для начала. Как вы записываете данные в StringWriter? Возможно ли, что ваши проблемы еще дальше по течению? (Если вы пишете XML вручную , я настоятельно рекомендую вместо этого использовать XML API. Он гораздо менее подвержен ошибкам.)

Какую ошибку вы получаете при попытке прочитать XML обратно? Как это выглядит в базе данных?

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

С другой стороны, есть ли причина, по которой вы звоните GetStringBuilder().ToString(), а не просто ToString()?

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