Класс, созданный XSD, не включает содержимое XInclude после десериализации

#.net #xml-serialization #xsd.exe #xinclude

#.net #xml-сериализация #xsd.exe #xinclude

Вопрос:

Я использую класс XmlSerializer для десериализации сгенерированного XSD.exe класса из XML-документа. XML-документ содержит два тега XInclude для других XML-документов. После десериализации содержимое XInclude отсутствует.

Кто-нибудь знает, обрабатывают ли синтаксические анализаторы .NET XML содержимое XInclude? ЕСЛИ нет, какие-либо предлагаемые обходные пути?

Спасибо.

Комментарии:

1. Вы можете использовать subscribe to XmlSerializer. Неизвестный элемент и загрузите дополнительный документ самостоятельно. Фактически вы находитесь на пути к реализации XInclude для .NET. Пожалуйста, рассмотрите возможность публикации пакета NUGET

Ответ №1:

XInclude не поддерживается .NET.

Комментарии:

1. Кто сказал? Не могли бы вы привести это правильно?

2. @dan раньше была статья под названием что-то вроде «Технологии XML, поддерживаемые в .NET). XInclude никогда не был в этом списке.

3. @JohnSaunders Ты случайно ничего не знаешь об этом ? «Домашняя страница проекта», на которую он ссылается, мертва.

4. @dan он выглядит старым и мертвым и поддерживается одним разработчиком, если вообще поддерживается. Я рекомендую использовать все, что поддерживает Microsoft или крупный поставщик. Вот список Microsoft: msdn.microsoft.com/en-us/library/ms256177.aspx

5. @dan другая реализация XML, на которую вы укажете, — это Saxon, at saxonica.com/products/products.xml . он также не поддерживает XInclude.