繁体   English   中英

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

[英]Generate C# class from XSD (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'.

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

背景信息我试图用XmlSerialize一个包含(简单的)HTML / XML和字符串内容混合的字符串,所以类似

&ltp>, &ltdiv>, etc

例如

Hello &ltu&gtunderlined text</u> &ltb&gtbold 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部分视为文本会更好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM