从XSD生成C#类(xhtml.blkstruct.class)

我有一个xsd文件,简化如下一个引用xhtml.BlkStruct.class的元素。 我试过xsd.exe和xsd2code试图从它生成一个C#类,但我总是得到错误。

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
        targetNamespace="http://www.w3.org/1999/xhtml"
        xmlns="http://www.w3.org/1999/xhtml"
        xmlns:xhtml="http://www.w3.org/1999/xhtml">

    <xs:complexType name="test">
        <xs:group ref="xhtml.BlkStruct.class"/>
    </xs:complexType>
</xs:schema>

这是错误(引用未声明的/未声明的模型组)

Error: Verweis auf eine nicht deklarierte Modellgruppe 'http://www.w3.org/1999/xhtml:xhtml.BlkStruct.class'.

有人能帮我解决这里出了什么问题吗?

背景我tryint到XmlSerialize一个字符串包含(简单)HTML / XML与刺内容混合,所以像

    <p>, <div>, etc

例如

    Hello <u>underlined text</u> <b>bold text</b> world

那么,你不在XSD的任何地方提供xhtml.BlkStruct.class 。 您可能需要包含其定义才能在代码生成中取得成功。 从http://www.w3.org/MarkUp/SCHEMA/下载该文件并添加一个

<xs:include schemaLocation="xhtml-basic11-model-1.xsd">

但是你真的需要一个强类型的DOM吗? 更简单的解决方案是将测试字段定义为字符串,并将HTML包含为CDATA或编码的HTML。 我的经验是,将XML与HTML混合总是一个糟糕的设计选择,并且将HTML部分作为文本对待会更好。

链接地址: http://www.djcxy.com/p/34319.html

上一篇: Generate C# class from XSD (xhtml.blkstruct.class)

下一篇: c# generating of xml feed according xsd