我有數據庫表中的XML需要轉換更新值,根據特定條件進行簡單的更改。是否可以在C#項目中使用XDT?
做我的研究,但只找到工具/插件應用到Web.config中或App.Config中:
http://visualstudiogallery.msdn.microsoft.com/69023d00-a4f9-4a34-a6cd-7e854ba318b5
我可以使用XSLT,但似乎XDT理想,更簡單,但是我如何在C#項目中使用它?
感謝
我有數據庫表中的XML需要轉換更新值,根據特定條件進行簡單的更改。是否可以在C#項目中使用XDT?
做我的研究,但只找到工具/插件應用到Web.config中或App.Config中:
http://visualstudiogallery.msdn.microsoft.com/69023d00-a4f9-4a34-a6cd-7e854ba318b5
我可以使用XSLT,但似乎XDT理想,更簡單,但是我如何在C#項目中使用它?
感謝
在最後找到了一個不錯的一段代碼,做什麼,我想:
http://petemontgomery.wordpress.com/2010/09/20/microsoft-xdt-language/
對於任何人碰到這個職位的到來,有一個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);
}
}
}
也就是說,是當然的,很基本的以最小的檢查,但它給你的要點。
嗨,您認爲可能需要進行哪些其他檢查? – CRice 2016-03-21 07:41:49
@CRice:文件驗證(一個或兩個都存在嗎?),模式驗證(標記是否有效?),安全檢查(您是否有權寫入目標目錄?)等等。 – 2016-03-21 12:10:29
XDT看起來可能更簡單一些,但以我的經驗來看,當您嘗試將工具用於非專門設計的目的時,您將不可避免地遇到問題。如果您的目標是轉換XML結構,XSLT就是專門爲此目的而設計的。 – MattDavey 2012-04-19 14:44:54