XFAの静的形式からいくつかのXMLを抽出しています。ここ はサンプルです:XMLバリデーションc# - 複合型
<xfa:datasets xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/">
<xfa:data>
<frmMain>
<InspectionDate>19/02/2012</InspectionDate>
<ENID>111114567</ENID>
<EmployeeNumber>1234</EmployeeNumber>
<GroundType>
<value>Tarmac</value>
<value>Concrete</value>
</GroundType>
<Width>800</Width>
<Height>900</Height>
<OtherDetails>Corssing of x road and y street</OtherDetails>
</frmMain>
</xfa:data>
</xfa:datasets>
私はここで に対してそのXMLを検証することができますので、私は、スキーマを生成するには、Windows SDK 7.0ユーティリティXsd.exeではを使用するには、次のとおりです。
私はXmlReaderSettingsを使用<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="datasets" targetNamespace="http://www.xfa.org/schema/xfa-data/1.0/" xmlns:mstns="http://www.xfa.org/schema/xfa-data/1.0/" xmlns="http://www.xfa.org/schema/xfa-data/1.0/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" attributeFormDefault="qualified" elementFormDefault="qualified">
<xs:attribute name="dataNode" msdata:Prefix="xfa" type="xs:string" />
<xs:element name="datasets" msdata:IsDataSet="true" msdata:Locale="en-US" msdata:Prefix="xfa">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="data" msdata:Prefix="xfa">
<xs:complexType>
<xs:sequence>
<xs:element name="frmMain" form="unqualified">
<xs:complexType>
<xs:sequence>
<xs:element name="InspectionDate" form="unqualified" type="xs:string" minOccurs="0" />
<xs:element name="ENID" form="unqualified" type="xs:string" minOccurs="0" />
<xs:element name="EmployeeNumber" form="unqualified" type="xs:string" minOccurs="0" />
<xs:element name="Width" form="unqualified" type="xs:string" minOccurs="0" />
<xs:element name="Height" form="unqualified" type="xs:string" minOccurs="0" />
<xs:element name="OtherDetails" form="unqualified" type="xs:string" minOccurs="0" />
<xs:element name="GroundType" form="unqualified" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute ref="mstns:dataNode" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
XmlReaderは、Xsdに対してXmlを読み取り、検証します。私が複雑なタイプを持っていない限り、すべては大丈夫です。しかし、この場合私は持っています。
何ができますか?
そして、私は取得していますエラーは次のとおりです。
要素「GroundTypeの親要素の内容モデルが空であるため、子要素「の値」を含めることはできませんが。
あなたの質問は明らかではありません。何が違うのですか?何か特別なエラーや予期しない動作がありますか? –
エラーを追加しました。これを指摘してくれてありがとうございます。 –