Анализатор XML: дизайн реализации - PullRequest
0 голосов
/ 19 января 2010

Я всегда предполагал, что XML-документы - это удобный способ хранения информации. Теперь я нашел в XML хороший способ «проинструктировать» мое приложение. Delicous.

Моя проблема - интегрировать синтаксический анализ XML в классы приложений. Я использую интерфейс C # System.Xml, думаю, он хороший и переносимый (верно?).

Существует ли какой-либо стандартный интерфейс, определяющий методы организации рекурсии по тегам xml или методы реализации распространенных реализаций XML (возможно, в базовом классе)?

Изначально я могу написать интерфейс, который определяет

void Read(XmlReader xml);

void Write(XmlREader xml);

А как насчет вложенных тегов, общих тегов и т. Д ...

P.S .: Я не думаю реализовать это с помощью LINQ, за исключением случая, когда он поддерживается также в Mono (как это определить)?

Большое спасибо! :)

Ответы [ 3 ]

2 голосов
/ 19 января 2010

Я думаю, вы можете искать Сериализация , это новичок Учебник по сериализации

0 голосов
/ 20 января 2010

Использование xml для «инструктирования» вашего приложения кажется мне обратным.Я был бы более склонен использовать скрипт IronPython, если бы это было моей целью.XML обычно предназначен для сериализации данных .Конечно, вы можете писать язык через xml, но в конечном итоге он борется с системой.Вам также будет очень сложно вызвать методы (хотя достаточно просто установить свойства и т.д. с помощью XmlSerializer).

Вот 3-минутное руководство по внедрению IronPython в приложение C # чтобы показать, что, IMO, может быть лучшим способом "проинструктировать" приложение C # через отдельный файл скрипта.

0 голосов
/ 19 января 2010

Как упомянул Binary Worrier, сериализация XML - это простой и эффективный вариант. Вы также можете использовать Linq to XML, который поддерживается в Mono начиная с версии 2.0 (выпущено в октябре 2008 г.)

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