XmlNode не поддерживается в Silverlight: повторно внедрить или использовать разбор строк? - PullRequest
3 голосов
/ 11 ноября 2008

Я написал приложение WPF, которое хочу перенести в Silverlight 2.

Моя бизнес-логика и модель (для шаблона проектирования M-V-VM) упакованы в отдельную сборку, которую я пытаюсь преобразовать в библиотеку классов Silverlight.

К сожалению, класс XmlNode, который я использую для анализа XML-файла с данными модели, не поддерживается Silverlight 2. Вместо этого рекомендуется использовать LING to XML (http://silverlight.net/forums/t/14577.aspx). Использование LINQ мне кажется излишним для меня Я рассматриваю возможность замены кода синтаксического анализа XML с использованием XML DOM на схему, основанную на регулярных выражениях (для синтаксического анализа атрибутов). Кроме того, я рассматриваю возможность написания собственной реализации XmlNode, на которую будет ссылаться в случае, если проект был скомпилирован для Sliverlight 2.

Кто-нибудь сталкивался с подобной ситуацией? У кого-нибудь есть какие-либо предложения (возможно, третий вариант) о том, как действовать (RegEx или переписать)?

Ответы [ 2 ]

2 голосов
/ 11 ноября 2008

Не уверен, насколько Linq to Xml излишним. На самом деле гораздо проще выполнить анализ XML с Linq2xml, когда вы освоите его. Я бы сказал, что регулярное выражение или написание собственного XmlNode было бы излишним.

Если вы опубликуете какую-то работу, которую вы делаете, XmlNode, я уверен, что вы получите хорошие переводы. А пока вот хорошее введение о том, как легко анализировать документы с Linq в Xml.

Обновление: В ответ на проблему с производительностью все, что я мог найти, это то, что linq to xml на быстрее , чем XmlDocument,

0 голосов
/ 13 ноября 2008

Класс System.Xml.Linq содержит классы XML DOM, такие как XDocument, XElement, XNode и XAttribute, которые являются намного более производительными и легкими для своих счетчиков XmlDocument, XmlElemnt и т.д. Вы можете использовать эти классы без использования Linq, но с Linq to Xml вы можете делать очень интересные вещи. Это абсолютно верный путь!

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