我的需求是更新XML文件(通过参数标识的一些元素,通过参数再次标识新的属性值)。在C#中使用XSLT更新XML - 如何更新同一个文件
我正在使用XSLT通过C#代码执行相同操作。
我的代码如下:
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load(f_Xslt);
XmlReader xr = XmlReader.Create("SourceXML.xml");
XmlWriter xw = XmlWriter.Create("DestinationXML.xml");
XsltArgumentList argsList = new XsltArgumentList();
argsList.AddParam("", "", "");
...
...
...
xslt.Transform(xr, argsList, xw);
在我的XSLT文件,我第一次复制所有元素,属性。然后基于<xsl:template match = ... />
,我更新了元素attr/values。
这一切都被保存到Destination.xml
如果我想这一切对Source.xml本身发生。
当然,最简单的解决办法(或到目前为止我的解决方案)是取代Destination.XML的Source.XML后,我顺利完成XSLT.Transform。