【发布时间】:2015-09-06 03:04:33
【问题描述】:
是否可以在 XML Schema 文件中引用 C# 项目中的类型?对于验证和智能,我的意思是......
假设我有以下内容:
namespace Example
{
class myType
{ int test = 0; }
}
如何在架构文件中引用 Example 命名空间,以便可以将 myType 用作元素类型?
【问题讨论】:
标签: c# xml namespaces xml-namespaces
是否可以在 XML Schema 文件中引用 C# 项目中的类型?对于验证和智能,我的意思是......
假设我有以下内容:
namespace Example
{
class myType
{ int test = 0; }
}
如何在架构文件中引用 Example 命名空间,以便可以将 myType 用作元素类型?
【问题讨论】:
标签: c# xml namespaces xml-namespaces
不直接。
不过有两种方法可以做到这一点。
首先是将您的类标记为Serializable,并使用XmlSerializer 将其序列化为XML。与此相结合,您还可以使用xsd.exe 为您的类创建架构,并且 that 可以用作您(其他)架构中的类型。 XmlSerializer 可用于对该类型进行序列化和反序列化。
在一些相关的说明中,如果您想要在 XML 中捕获一个 方法(而不是数据类型或结构),您可以使用 C#(或 VB)扩展一些 XSLT .NET 或 JavaScript)代码。 MSDN 有更多关于如何做到这一点的文档,基本思想是使用 XsltArgumentList 和 AddExtensionObject 添加该方法。也可以使用 msxsl:script 直接在 XSLT 中执行此操作(有关详细信息,请参阅 here)。
【讨论】: