我就照下面的方法一些XML XSD验证: Xml validation using XSD schema'ref'属性不能出现。在C#中验证错误
.......................................................
XmlReaderSettings settings = new XmlReaderSettings();
settings.Schemas.Add(null, xsdFilePath);
settings.ValidationType = ValidationType.Schema;
settings.ValidationEventHandler += new System.Xml.Schema.ValidationEventHandler(settings_ValidationEventHandler);
XmlDocument document = new XmlDocument();
document.Load(xmlFilePath);
XmlReader rdr = XmlReader.Create(new StringReader(document.InnerXml), settings);
while (rdr.Read())
{
}
...........................................................
,这让我错误说: “这个‘裁判’属性不能出现”
我的XSD看起来像:
...........
<xs:element name="totals" minOccurs="0" ref="DocTotal"/>
..................................
<xs:element name="DocTotal">
<xs:complexType>
<xs:sequence>
<xs:element name="totalQty" minOccurs="0" type="xs:decimal"/>
<xs:element name="totalTax" minOccurs="0" type="xs:decimal"/>
</xs:sequence>
<xs:attribute name="id" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
和我的XML看起来像:
<totals>
<totalQty>800</totalQty>
<totalTax>0.00<totalTax>
</totals>
我相信,因为这两个“名”和“裁判”发生此错误:属性存在相同的元素:但是我觉得这是没有错的XSD(感激对此有何评论):在这情况下,有没有办法来验证这个XSD的XML:
你用“java”标记了这个问题,因为......? – 2013-03-13 06:55:43
对不起, – Bathiya 2013-03-13 07:13:00
[这](http://stackoverflow.com/q/8896602/238902)问题可能是帮助 – Default 2013-03-13 07:17:57