Get XML from XPathDocument
本文关键字:XPathDocument from XML Get | 更新日期: 2023-09-27 17:52:17
我正在开发一个样式表,并有一些初始XML。然而,在设置样式之前对XML进行了一些操作,我希望将最终的XML发送到.Transform()
中。例如。。。
XslCompiledTransform.Transform( xpd, xslArg, output )
我想获得xpd的Xml内容(作为字符串(,这样我就可以在其他工具中处理样式表了。
有没有一种快速而肮脏的方法可以得到这个?在VS2010立即窗口中,或者在调用.Transform()
之前的一两个快速C#行中?
编辑:我使用的.Transform()
是
public void Transform(IXPathNavigable input,
XsltArgumentList arguments, TextWriter results);
并且CCD_ 4是CCD_。
string xml = xpd.CreateNavigator().OuterXml;
下面是我的原始答案,它解释了如何在将XML输入到转换之前修改代码中的XPathDocument中的XML:
如果xpd
是XPathDocument,那么您可能只需要从XPathDocument:中获得XPathNavigator
XPathNavigator xpn = xpd.CreateNavigator();
并使用它来修改XML。修改完成后,可以将xpn
或xpd
传递到Transform()
方法中。另一方面,MSDN说XPathDocument的CreateNavigator()
创建了一个只读导航器,所以这可能有点麻烦。
如果它真的是只读的,你应该能够做到这一点:
XmlDocument doc = new XmlDocument();
doc.LoadXml(xpd.CreateNavigator().OuterXml);
然后使用doc
修改XML,并在完成转换后将doc
传递到转换中。