Как преобразовать из текстового поля SQL Server в XML и обратно - PullRequest
1 голос
/ 29 декабря 2010

Мы сохраняем наш xml в базе данных SQL Server с текстом типа данных, поэтому это длинная строка.

Теперь мне нужно преобразовать эту строку в xml, а затем поработать с ней и, наконец, преобразовать ее обратно в строку для сохранения обратно в базу данных.

xml:

<Posts>
    <DialogPost>
      <Type></Type>
      <User></User>
      <Customer></Customer>
      <Date></Date>
      <Message></Message>
    </DialogPost>
</Posts>

Я начал работать с Linq для xml, и это, кажется, здорово, но у меня проблемы с его работой.

XDocument dialogXML = XDocument.Load("trying to load the xml string right in");

Не нравится строка прямо из БД.Как бы вы посоветовали мне заняться этой проблемой?И чтение и запись обратно в БД.

1 Ответ

2 голосов
/ 29 декабря 2010

Используйте метод XDocument.Parse. Load ожидает, что URI не XML.

Также следует помнить, что отправленный вами XML-файл недействителен. У вас есть закрывающий тег Dialog в конце, но нет открывающего тега. Вот пример, который будет работать с действительным XML.

string str =
@"<?xml version=""1.0""?>
<!-- comment at the root level -->
<Posts>
    <DialogPost>
      <Type></Type>
      <User></User>
      <Customer></Customer>
      <Date></Date>
      <Message></Message>
    </DialogPost>
  </Posts>";
XDocument doc = XDocument.Parse(str);

Посмотрите здесь для примера и дополнительной информации.

...