2014-02-21 96 views
0

雖然我很熟悉XML(儘管我理解數據結構)並且非常困惑:(所以我在完成最近的一個項目後開始更深入地研究這個問題(這是時間關鍵的,所以我做了什麼我可以但非常痛苦)現在我想'學習'正確的方式去了解這個,所以我知道未來如何處理XML文件

我有一個非常冗長的XML文件,這個文件有很多節點。如果我改變查詢,我會收到一個不同的XML

所以我的研究導致我使用XSD,我需要使用這個工具先生成一個XSD,然後是一個類來保存返回的數據(所以我認爲)我運行了下面的命令

C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC>xsd.exe C:/Users/name/Desktop/myFile.xml /l:VB /outputdir:c:/projects/ /classes 

然後我試圖創建一個類從XSD生產

C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC>xsd.exe c:/projects/myFile.xsd /classes /language:VB 

,但得到的錯誤「屬性得分缺失」。所以這讓我覺得我需要進一步研究這一點,但是我被2005年一些設計使用的文章的數量所淹沒,但只讓我感到困惑。

  1. 那麼我應該如何處理XML文件並創建相關的類(VS 2010或VS 2013)呢?
  2. 我是否需要爲所有XML文件或Web服務返回的XML創建XSD?
  3. VS2010或VS2013是否可以完成我可以進一步學習/閱讀的任何繁重工作?

請注意我已閱讀MSDN和大量的文章,但需要一個指向正確的方向來填補缺失的差距。 我通常使用VB.Net和SQL到Linq,但我需要理解處理XML文件的基礎以及如果返回的XML包含不同的節點時應該如何完成。我已經閱讀了XMLSerialiser,但是如果使用XML來處理Linq,似乎有不同的方法。

任何幫助表示讚賞。

回答

0

我給你舉例說明將數據庫mysql插入到xsd,但首先你必須從xsd文件創建表。例如給你的xsd裏面的表的名字是employee,用代碼和名字填充該表。

Imports MySql.Data.MySqlClient 
Module dbase 
    Public odm As New MySqlConnection 
    Public odmc As New MySqlCommand 
    Public dt As New DataTable 
    Public adap As New MySqlDataAdapter 

    Public Sub connect_to_sql() 
     Dim coba As String 

     If odm.State = ConnectionState.Closed Then 
      coba = "server='localhost';port=3306;uid='root';pwd='';database=arthur;" 
      odm.ConnectionString = coba 
      odm.Open() 
     End If 
    End Sub 
Public Sub rssql(ByVal sql As String) 
    dt.Reset() 
    adap = New MySqlDataAdapter(sql, odm) 
    adap.Fill(dt) 

End Sub 
    End module 

此代碼將數據表插入到xsd文件。在創建此代碼之前,向您的表單插入數據集組件,並且已創建連接到xsd文件的連接。

Public Class Form1 

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
     Manform() 
     koneksisql() 
     rssql("select code,name from employee") 
    For i as integer=0 to dt.rows.count-1 
     Dataset11.employee.rows.add(new object(){dt.rows(i)(0),dt.rows(i)(1)}) 
     Msgbox(Dataset11.employee.rows(i)(0)) 
    Next 

    End Sub 
End sub 

如果你使用xml某些時候報告無法從xml文件加載。

+0

謝謝,但這並沒有真正告訴我,我將如何生成一個類或回答我的問題,以清除任何混淆。再次感謝您的嘗試。 – Computer