IXmlSerializable을 구현하려고합니다. 내 클래스는 serializable을 구현하고 단일 문자열을 씁니다. XsdDataContractExporter (표준 것)를 사용하여 객체 그래프 스키마를 내보낼 수 있기를 바랍니다.유효한 XmlSchema를 사용하여 IXmlSerializable (XMLSchema : 스키마 요소가 선언되지 않았습니다 ..)
클래스는 간단한 xml로 직렬화됩니다.
<Urn ns='http://palantir.co.za/urn'>somestring</Urn>
XmlSchemaProvider 특성에 해당하는 GetSchema를 구현 한 내용은 다음과 같습니다.
스키마를 생성하고 내보낼 수 있어야합니다.
public static XmlQualifiedName GetSchema(XmlSchemaSet xs)
{
string ns = "http://palantir.co.za/urn";
if (xs.Schemas("http://palantir.co.za/urn").Count != 0)
return new XmlQualifiedName("Urn", ns); // tried many.
XmlSchema schema = new XmlSchema();
schema.Namespaces.Add("xs", XmlSchema.Namespace);
schema.Namespaces.Add("Urn", ns); // tried many prefixes.
schema.ElementFormDefault = XmlSchemaForm.Qualified;
schema.Items.Add(
new XmlSchemaElement() {
Name = "Urn",
SchemaTypeName = XmlSchemaType.GetBuiltInSimpleType(XmlTypeCode.String).QualifiedName
});
schema.TargetNamespace = ns;
xs.Add(schema);
//xs.Compile();
return new XmlQualifiedName("Urn", schema.TargetNamespace);
}
나는 다음과 같은 오류가 발생합니다 :
The http://www.w3.org/2001/XMLSchema:schema element is not declared..내가 스키마를 내보낼 때.
'스키마 내보내기': 구현을 위해 XML 파일에 추가 할 때 의미합니까? –