2012-04-19 82 views
1

我有數據庫表中的XML需要轉換更新值,根據特定條件進行簡單的更改。是否可以在C#項目中使用XDT?

做我的研究,但只找到工具/插件應用到Web.config中或App.Config中:

http://ctt.codeplex.com/

http://visualstudiogallery.msdn.microsoft.com/69023d00-a4f9-4a34-a6cd-7e854ba318b5

我可以使用XSLT,但似乎XDT理想,更簡單,但是我如何在C#項目中使用它?

感謝

+0

XDT看起來可能更簡單一些,但以我的經驗來看,當您嘗試將工具用於非專門設計的目的時,您將不可避免地遇到問題。如果您的目標是轉換XML結構,XSLT就是專門爲此目的而設計的。 – MattDavey 2012-04-19 14:44:54

回答

4

對於任何人碰到這個職位的到來,有一個NuGet包提供執行此轉換的能力:

安裝,包裝Microsoft.Web.Xdt

然後,它是沿着線的東西:

// Some example file paths 
var sourceDoc = "web.config"; 
var transDoc = "web.Debug.config"; 
var destDoc = "bin\web.config"; 

// The translation at-hand 
using (var xmlDoc = new XmlTransformableDocument()) 
{ 
    xmlDoc.PreserveWhitespace = true; 
    xmlDoc.Load(sourceDoc); 

    using (var xmlTrans = new XmlTransformation(transDoc)) 
    { 
    if (xmlTrans.Apply(xmlDoc)) 
    { 
     // If we made it here, sourceDoc now has transDoc's changes 
     // applied. So, we're going to save the final result off to 
     // destDoc. 
     xmlDoc.Save(destDoc); 
    } 
    } 
} 

也就是說,是當然的,很基本的以最小的檢查,但它給你的要點。

+0

嗨,您認爲可能需要進行哪些其他檢查? – CRice 2016-03-21 07:41:49

+0

@CRice:文件驗證(一個或兩個都存在嗎?),模式驗證(標記是否有效?),安全檢查(您是否有權寫入目標目錄?)等等。 – 2016-03-21 12:10:29

相關問題