Десериализация файла XML в класс C # - PullRequest
2 голосов
/ 27 января 2009

Кто-нибудь знает, какие преимущества (память / скорость) имеют использование класса, сгенерированного инструментом XSD, для исследования десериализованного XML-файла по сравнению с XPATH?

Ответы [ 3 ]

2 голосов
/ 27 января 2009

Я бы сказал, что преимущество в том, что вы получаете строго типизированный класс, который более удобен в использовании, а также конструктор для этого класса выдает исключение, если данные XML в файле недопустимы для создания объекта, поэтому Вы получаете минимальную проверку данных бесплатно.

2 голосов
/ 27 января 2009

Если вы не хотите писать шаблонный код и вам нужно проверять ЛЮБЫЕ значения вашего XML, вы не ошибетесь с созданными XSD.exe классами.

0 голосов
/ 27 января 2009

Два очень разные; но XmlSerializer всегда десериализует целые объекты; с XPath вы можете выбирать. Я бы использовал XmlSerializer лично, однако - сложнее ошибиться.

XPath, однако, сложный зверь, который зависит от серверной части. Например, XmlDocument (изменяемый) будет вести себя иначе, чем XPathDocument (только для чтения, оптимизирован для запроса).

...