1

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

4

1 回答 1

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));
于 2010-04-09T10:18:50.963 回答