Как построить XML с использованием файла XSD в C # .Net - PullRequest
2 голосов
/ 27 марта 2012

Привет, у меня есть XSD-файл, который объясняет, какие поля необходимо заполнить.

Используя эту схему XSD, мне нужно создать и запрос XML и направить его к стороннему поставщику услуг, и после проверки моего запроса XML система (сторонняя) выдаст ответ, и снова я должен прочитать этот ответ XML и сделайте остальную часть реализации логики.

Понятия не имею, с чего начать построение XML с использованием этого XSD

Может ли кто-нибудь указать мне правильное место или привести какие-то примеры, которые я могу использовать для построения XML с использованием XSD

Вот часть моего XSD

    <?xml version="1.0" encoding="utf-8"?>
   <xs:schema xmlns="http://www.ncpdp.org/schema/SCRIPT" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.ncpdp.org/schema/SCRIPT" elementFormDefault="qualified">
        <!-- Message -->
        <xs:element name="Message" type="MessageType"/>
<xs:element name="RxHistoryRequest">
        <xs:complexType>
            <xs:sequence>
                <xs:annotation>
                    <xs:documentation>UIH-020</xs:documentation>
                    <xs:documentation>UIH-030-1</xs:documentation>
                    <xs:documentation>PVD-P2</xs:documentation>
                </xs:annotation>
                <xs:element ref="RxReferenceNumber" minOccurs="0"/>
                <!--UIH.2.1-->
                <xs:element ref="PrescriberOrderNumber" minOccurs="0"/>
                <!--UIH.3.1-->
                <xs:element name="Pharmacy" type="OptionalPharmacyType" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation>PVD-P2</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <!--PVD-->
                <xs:element name="Prescriber" type="OptionalPrescriberType">
                    <xs:annotation>
                        <xs:documentation>PVD-PC</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <!--PVD-->
                <xs:element name="Patient" type="HistoryRequestPatientType">
                    <xs:annotation>
                        <xs:documentation>PTT</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <!--PTT-->
                <xs:element name="BenefitsCoordination" type="BenefitsCoordinationRequestType" maxOccurs="3">
                    <xs:annotation>
                        <xs:documentation>COO</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <!--COO-->
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="RxHistoryResponse">
        <xs:complexType>
            <xs:sequence>
                <xs:annotation>
                    <xs:documentation>UIH-020</xs:documentation>
                    <xs:documentation>UIH-030-1</xs:documentation>
                    <xs:documentation>PVD-P2</xs:documentation>
                </xs:annotation>
                <xs:element ref="RxReferenceNumber" minOccurs="0"/>
                <!--UIH.2.1-->
                <xs:element ref="PrescriberOrderNumber" minOccurs="0"/>
                <!--UIH.3.1-->
                <xs:element name="Response" type="HistoryResponseType">
                    <xs:annotation>
                        <xs:documentation>RES</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <!--RES-->
                <xs:element name="Pharmacy" type="OptionalPharmacyType" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation>PVD-P2</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <!--PVD-->
                <xs:element name="Prescriber" type="HistoryPrescriberType">
                    <xs:annotation>
                        <xs:documentation>PVD-PC</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <!--PVD-->
                <xs:element name="Patient" type="HistoryResponsePatientType">
                    <xs:annotation>
                        <xs:documentation>PTT</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <!--PTT-->
                <xs:element name="BenefitsCoordination" type="BenefitsCoordinationResponseType" maxOccurs="3">
                    <xs:annotation>
                        <xs:documentation>COO</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <!--COO-->
                <xs:choice minOccurs="0">
                    <xs:element name="MedicationDispensed" type="HistoryDispensedMedicationType" maxOccurs="300">
                        <xs:annotation>
                            <xs:documentation>DRU-D</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <!--DRU-->
                    <xs:element name="MedicationPrescribed" type="HistoryPrescribedMedicationType" maxOccurs="300">
                        <xs:annotation>
                            <xs:documentation>DRU-P</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <!--DRU-->
                </xs:choice>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
.
.
.
.
..
.
continues

с использованием <xs:element name="RxHistoryRequest"> Я должен построить XML и

с использованием <xs:element name="RxHistoryResponse"> Я должен прочитать ответ

Спасибо, что уделили мне время.

1 Ответ

0 голосов
/ 27 марта 2012

Вы можете использовать программы, которые могут предоставить образец xml из этого xsd.Например, Stylus Studio .

Если вы предоставите мне XSD, я могу сделать для вас образец XML

...