XmlSerializer使用XSLT进行自定义转换

时间:2010-04-08 15:13:43

标签: xslt xmlserializer

有没有办法通过应用XSLT中定义的自定义转换来使用XmlSerializer反序列化XML流?

1 个答案:

答案 0 :(得分:2)

我认为没有一个API调用允许这样做,但你可以通过以下方法用几行来实现它:

XslCompiledTransform proc = new XslCompiledTransform();
proc.Load("sheet.xsl");

XmlDocument tempResult = new XmlDocument();
using (XmlWriter xw = tempResult.CreateNavigator().AppendChild())
{
  proc.Transform("input.xml", null, xw);
  xw.Close();
}

XmlSerializer ser = new XmlSerializer(typeof(Foo));
Foo foo = (Foo)ser.Deserialize(new XmlNodeReader(tempResult));