是否可以在XML Schema文件中引用C#项目中的类型?对于验证和智能,我的意思是......
假设我有以下内容:
namespace Example
{
class myType
{ int test = 0; }
}
如何在模式文件中引用Example命名空间,以便我可以将myType用作元素类型?
答案 0 :(得分:1)
不直接。
虽然有两种方法可以做到这一点。
第一种方法是将您的班级标记为Serializable
,并使用XmlSerializer
将其序列化为XML。与此相关,您还可以使用xsd.exe
为您的班级创建架构, 可以用作您(其他)架构中的类型。 XmlSerializer
可用于序列化和反序列化该类型。
在一个有点相关的说明中,如果你想要在XML中捕获方法(而不是数据类型或结构),你可以使用C#(或VB)扩展一些XSLT .NET或JavaScript)代码。 MSDN有更多关于如何执行此操作的文档,其基本思想是使用XsltArgumentList
和AddExtensionObject
添加该方法。也可以使用msxsl:script
直接在XSLT中执行此操作(有关详细信息,请参阅here)。