2008-09-16 62 views
6

我正在.net應用程序中工作,我們需要根據從數據庫中檢索的數據集動態生成XML文件。 XML模式應該基於提供的xsd。我想知道是否有任何方法將數據集或每個數據行綁定或關聯到xsd。我不知道它是否可以完成,或者我可能會考慮以錯誤的角度使用XSD。如果我錯了,請糾正我,讓我知道將數據庫中檢索到的數據與預定義模式關聯的最佳方法。謝謝。使用xsd在.net中生成XML

更新:如果我對xsd的看法不對,請詳細說明如何使用xsds(或者可能指向我一些有用的鏈接)。

+0

我一直在尋找這樣的代碼,沒有現成的可用..看起來並不那麼簡單。好。如果這是爲了您的測試,然後去Altova XMLSpy,像gem一樣創建XML。 – 2012-11-22 15:30:16

回答

1

除了喬爾Coehoorn建議的解決方案 - 從XSD生成類型化數據集或商業實體 - 讓我添加一些其他方法:

  1. 如果您使用支持XML類型如數據庫Oracle或MS SQL Server,您可以在SQL查詢中正確構建XML,並繞過數據集的總體直接從數據庫檢索XML。
  2. 如果您的數據庫架構沒有直接映射到給定的XSD,即您已經有一個類型化數據集或一組XML對象,並且這些對象被序列化爲不符合XSD的XML,隨同您一起提供,那麼您可以使用XSLT將您的XML轉換爲另一個符合給定XSD的XML文檔。
3

將模式文檔用作Visual Studio附帶的命令行xsd.exe程序的參數,以生成可包含在項目/解決方案中的類文件或類型化數據集。這些類或數據集可以序列化爲xml,並符合您用來創建它們的模式文檔。

唯一的問題是它不是動態的:你不能等到運行時才能獲取模式文件。但是沒有任何內置的東西支持這一點。