4
我正在使用XmlReader來驗證Xml是否針對Xsd。XmlSchemaValidationException:'B'元素未聲明
當我驗證此XML
<?xml version="1.0" encoding="utf-8" ?>
<A><B>sdf</B></A>
根據該模式:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="B" type="xs:string" />
<xs:element name="A">
<xs:complexType>
<xs:sequence>
<xs:element ref="B"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
驗證確定。
但是,如果我添加命名空間:
<?xml version="1.0" encoding="utf-8" ?>
<A xmlns="myns"><B>sdf</B></A>
和相應的模式:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="myns">
<xs:element name="B" type="xs:string" />
<xs:element name="A">
<xs:complexType>
<xs:sequence>
<xs:element ref="B"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
我接受System.Xml.Schema.XmlSchemaValidationException:在 'B' 元素未聲明。 爲什麼會發生這種情況?我怎樣才能添加一個名稱空間?
+1用於提示從模式A提取模式B.它幫助了我! :) – Learner 2012-07-05 11:53:04