Выберите содержимое таблицы SQL Server в формате xml с помощью тегов пространства имен элемента xs: - PullRequest
0 голосов
/ 30 августа 2018

Я пытаюсь создать код SQL, который бы динамически преобразовывал результаты таблицы в формат XML, который похож на тот, что показан ниже, но до сих пор не нашел способа сделать это.

Образец таблицы:

key name   age   
---------------
1   Anakin 23  
2   jill   40  

XML

<xs:element name="person">
    <xs:complexType>
        <xs:sequence>
            <xs:element name="key" type="xs:int" minOccurs="0" />
            <xs:element name="name" type="xs:string" minOccurs="0" />
            <xs:element name="age" type="xs:int" minOccurs="0" />
        </xs:sequence>
    </xs:complexType>
</xs:element>

Любые предложения или материалы для чтения, которые могут помочь?

1 Ответ

0 голосов
/ 30 августа 2018

Как указано в комментариях, вы можете получить простой вывод элемента так же просто, как FOR XML PATH ('person')

Чтобы сгенерировать соответствующую схему и xlm, начните здесь:

create table person
  ([key] int,
   [name] varchar(50),
   [age] int);
go

insert into person values (1, 'Anakin', 23),(2, 'Jill', 40);
go

select * from person FOR XML AUTO, ELEMENTS, XMLSCHEMA;

Если вам требуются явные имена элементов или имена схем, вам нужно заменить XML AUTO на XML EXPLICIT и предоставить свой собственный документ схемы.

Подробнее о inline XSD здесь: https://docs.microsoft.com/en-us/sql/relational-databases/xml/generate-an-inline-xsd-schema?view=sql-server-2017

Подробнее о XML EXPLICIT здесь: https://docs.microsoft.com/en-us/sql/relational-databases/xml/use-explicit-mode-with-for-xml?view=sql-server-2017

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