Дълго заглавие, но се надявам да мога да обясня какво търся. Прочетох и потърсих в Google много xml документация, но не получих отговор на това, което се опитвам да направя. Опитвам се да създам XSD документ, който генерира изрични дефиниции на типове за полета в набора от данни. След това се опитвам да създам примерен XML документ, който валидира спрямо XSD документа.
Това работи добре във Visual Studio, защото мога да чета в схемата и документа и той валидира, НО създаденият xml документ няма реална препратка към XSD чрез xlmns или друг метод. Ако искам да използвам тези xml данни в MS Excel, да речем, и се опитам да импортирам, той не знае къде е 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"))