从XML引用的数据集创建XSD和XML文档XSD将XML导入excel
很长的标题,但希望我能解释我在追求什么。我已经阅读并在谷歌上搜索了大量xml文档,但还没有找到我想要做什么的答案。我试图创建一个XSD文档,为数据集中的字段生成显式类型定义。然后,我尝试创建一个示例XML文档,以验证XSD文档 这在VisualStudio内部运行良好,因为我可以读入模式和文档并进行验证,但创建的xml文档没有通过xlmns或其他方法对XSD进行真正的引用。如果我想在MS Excel中使用这个xml数据,并且我尝试导入它,那么我不知道XSD在哪里进行验证,所以它假设它基于这些值。如果要解决这个问题,我的代码中有没有办法将XLMN同时添加到XSD和XML中从XML引用的数据集创建XSD和XML文档XSD将XML导入excel,xml,vb.net,xsd,xml-namespaces,Xml,Vb.net,Xsd,Xml Namespaces,很长的标题,但希望我能解释我在追求什么。我已经阅读并在谷歌上搜索了大量xml文档,但还没有找到我想要做什么的答案。我试图创建一个XSD文档,为数据集中的字段生成显式类型定义。然后,我尝试创建一个示例XML文档,以验证XSD文档 这在VisualStudio内部运行良好,因为我可以读入模式和文档并进行验证,但创建的xml文档没有通过xlmns或其他方法对XSD进行真正的引用。如果我想在MS Excel中使用这个xml数据,并且我尝试导入它,那么我不知道XSD在哪里进行验证,所以它假设它基于这些值。
Dim MyDataSet As New DataSet("Samples")
Dim MyDataTable As New DataTable("Sample")
MyDataSet.Tables.Add(MyDataTable)
MyDataTable.Columns.Add(New DataColumn("blnExample", GetType(Boolean), Nothing, MappingType.Element))
MyDataTable.Columns.Add(New DataColumn("datExample", GetType(DateTime), Nothing, MappingType.Element))
MyDataTable.Columns.Add(New DataColumn("decExample", GetType(Decimal), Nothing, MappingType.Element))
MyDataTable.Columns.Add(New DataColumn("dblExample", GetType(Double), Nothing, MappingType.Element))
MyDataTable.Columns.Add(New DataColumn("intExample", GetType(Integer), Nothing, MappingType.Element))
MyDataTable.Columns.Add(New DataColumn("lngExample", GetType(Long), Nothing, MappingType.Element))
MyDataTable.Columns.Add(New DataColumn("sglExample", GetType(Single), Nothing, MappingType.Element))
MyDataTable.Columns.Add(New DataColumn("strExample", GetType(String), Nothing, MappingType.Element))
' Write out the XSD
MyDataSet.WriteXmlSchema(Server.MapPath("~\xml\MySchema.xsd"))
' Put some data in the table
Dim TempRow As DataRow
For i As Integer = 1 To 3
TempRow = MyDataTable.NewRow()
TempRow("blnExample") = True
TempRow("datExample") = New DateTime(2012, 2, 29)
TempRow("decExample") = 1
TempRow("dblExample") = 2
TempRow("intExample") = 3
TempRow("lngExample") = 4
TempRow("strExample") = "Example"
MyDataTable.Rows.Add(TempRow)
Next
' Write out the data
MyDataSet.WriteXml(Server.MapPath("~\xml\MyData.xml"))
通过在
数据集
实例上设置名称空间
属性,可以将名称空间添加到两个文档中:
MyDataSet.Namespace = "http://www.example.com/"
这将导致您的架构具有目标命名空间:
<xs:schema targetNamespace="http://www.example.com/" ... >
<Sample xmlns="http://www.example.com/">
以及引用该命名空间的实例文档:
<xs:schema targetNamespace="http://www.example.com/" ... >
<Sample xmlns="http://www.example.com/">