XmlSerializer с пользовательским преобразованием с использованием XSLT - PullRequest
1 голос
/ 08 апреля 2010

Есть ли способ десериализации потока XML с помощью XmlSerializer путем применения пользовательского преобразования, определенного в XSLT?

1 Ответ

2 голосов
/ 09 апреля 2010

Я не думаю, что есть единственный вызов 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));
...