Редактировать (через привязку данных) XML в форме ASP.NET - PullRequest
1 голос
/ 04 июня 2009

вот мой сценарий. XML хранится в БД SQL. Мне нужно разрешить пользователю редактировать различные части этого XML (без вставки, просто обновления), получать уведомления, если что-то изменилось (чтобы я мог сохранить последний файл даты или узел, который был отредактирован), а затем сохранить обновленный XML в БД.

Каков наилучший и самый быстрый подход в этом сценарии? Я надеялся использовать выражение привязки данных с XmlDataSource. НО, он поддерживает только привязку только для чтения (кажется).

Существуют ли какие-либо другие альтернативные решения, встроенные в ASP.NET, которые я мог бы использовать, которые позволили бы привязку данных (с указанием xpath для каждого элемента управления)? или мне нужно развернуть собственное решение?

если выкатите мое собственное решение, как лучше это сделать?

1 Ответ

1 голос
/ 04 июня 2009

Вам не нужно накатывать свое собственное решение, поскольку вы легко можете позволить .Net Framework сделать для вас тяжелую работу. Если вам нужна привязка данных, то вы можете использовать инструмент XSD для создания класса CLR для вас из вашей XML-схемы (если она существует).

Создание класса будет выглядеть примерно так:

xsd / c / language: CS XSDSchemaFile.xsd

Как только у вас появится этот объект, выполните обычное связывание в пользовательском интерфейсе с этим объектом. Когда вы будете готовы распространить эти изменения в БД, вы можете XML-сериализовать объект и отправить результаты обратно в БД.

var serializer = new XmlSerializer(typeof (MyCustomType));

var stream = new MemoryStream();
var xw = new XmlTextWriter(stream, encoding);

serializer.Serialize(xw, instanceOfCustomType);

String xml = encoding.GetString(stream.ToArray());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...