Asp.net 用于Excel的.Net内联架构/XML编程生成

Asp.net 用于Excel的.Net内联架构/XML编程生成,asp.net,.net,xml,excel,xsd,Asp.net,.net,Xml,Excel,Xsd,我有一组使用ASP.NETVB.Net呈现到网页的数据。现在我想将这些数据导出到XML。我已经创建了一些代码来生成模式,但是,我不知道接下来要做什么。我希望模式与XML数据保持一致,并且我希望编译器检查以确保为XML内容输入的数据与包含的模式进行了验证。有人知道这样做的方法吗?我的想法是能够在Excel中打开包含正确类型字段的结果文件 我以前构建过XML文档,这是我以编程方式创建的第一个模式文档。但是,我从未使用过内联模式,更不用说使用它们来强类型添加到文档中的XML了 我已经阅读了以下内容,这

我有一组使用ASP.NETVB.Net呈现到网页的数据。现在我想将这些数据导出到XML。我已经创建了一些代码来生成模式,但是,我不知道接下来要做什么。我希望模式与XML数据保持一致,并且我希望编译器检查以确保为XML内容输入的数据与包含的模式进行了验证。有人知道这样做的方法吗?我的想法是能够在Excel中打开包含正确类型字段的结果文件

我以前构建过XML文档,这是我以编程方式创建的第一个模式文档。但是,我从未使用过内联模式,更不用说使用它们来强类型添加到文档中的XML了

我已经阅读了以下内容,这些内容非常有用,但都没有涉及我上面提到的问题:


我不知道你所说的。。。我希望编译器进行检查,以确保我为XML内容输入的数据根据包含的模式进行验证

编译器从不检查这一点。如果您想以编程方式根据模式验证XML文档,可能应该使用

但是对于将模式与文档内联,您可以回答自己的问题。你问题中的第二个环节,到,正是你想要做的

您可以将内联XML模式视为文档中的文档。好的,使用Kirk的例子,最外层的文档更像是一个容器,它使用未定义的名称空间no schema。他的示例使用了属于未定义名称空间的DerekDoc的文档根。你可以给你的名字起任何你想要的名字

在这个根目录中基本上有两个文档。一种是内联XML模式。您只需将其添加为根的子元素。另一个是要符合XML模式的XML文档。您需要使用xmlns属性将此元素设置为XML模式定义的名称空间,即模式的目标名称空间


它可能会起作用。我还没有尝试将根元素设置为架构的目标命名空间,但是客户端可能更难验证文档,因为它是一个正向引用。

那么你是说我应该使用内联架构生成文档,然后将其读回以确保其验证?而且,我尝试过的所有组合都不能在Excel中正确打开;所以我觉得我遗漏了什么。如果只是在Excel中打开它,你看了吗?我想你可能有点模糊了。是否需要验证生成的XML文档?如果是这样,您可能不会验证嵌入到该XML文档中的XML模式文档。事实上,我不完全清楚为什么要首先生成模式。XML模式通常用于通知其他人如何构造有效的XML文档。我希望生成的是一个可以在Excel中打开或通过XML处理程序验证的XML文件。我不希望使用Excel特定的格式,尤其是因为我知道Excel可以打开XML文件。但是,我不知道如何让Excel打开带有嵌入式模式的XML文件。另一件事是,我现在明白了,我应该将模式作为XML文档中的第一个元素,然后我需要将其读回给自己,以确保它是有效的,然而,因为我正在将所有内容作为流处理,我不知道怎么做,但我可能能想出这个办法。