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