【发布时间】:2012-03-16 12:03:35
【问题描述】:
标题很长,但希望我能解释一下我所追求的。我已经阅读并搜索了大量的 xml 文档,但还没有完全得到我想要做什么的答案。我正在尝试创建一个 XSD 文档,为数据集中的字段生成显式类型定义。然后,我尝试创建一个针对 XSD 文档进行验证的示例 XML 文档。
这在 Visual Studio 中工作得很好,因为我可以读取架构和文档并验证但是,创建的 xml 文档没有通过 xlmns 或其他方法真正引用 XSD。如果我想在 MS Excel 中使用这个 xml 数据并且我尝试导入它不知道 XSD 将在哪里进行验证,因此它会根据值假设它。如果需要解决这个问题,我的代码中有没有办法将 xlmns 添加到 XSD 和 XML 中?
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"))
【问题讨论】:
标签: xml vb.net xsd xml-namespaces