navab
27-11-2012, 16:46
Господа, прокомментируйте, пжст, вот какой момент.
В коде один из пользовательских типов заполняется из xml следующим образом:
XmlDocument document = new XmlDocument();
document .LoadXml(incomingXml);
XPathNavigator navigator = doc.CreateNavigator()
XPathNavigator routingNav = navigator.SelectSingleNode("looking for that it is necessary", namespace);
XmlSerializer s = new XmlSerializer(typeof(MyType));
using (StringReader r = new StringReader(routingNav.OuterXml))
{
using (XmlReader reader = XmlReader.Create(r))
{
mytype= (MyType)s.Deserialize(reader);
}
}
Все работает, но смущает, что использовать приходится и XPathNavigator, и StringReader, и XmlReader. Найти материалы про десериализацию, скажем, XPathNavigator напрямую не удалось. Есть ли более компактный способ десериализации?
Спасибо.
В коде один из пользовательских типов заполняется из xml следующим образом:
XmlDocument document = new XmlDocument();
document .LoadXml(incomingXml);
XPathNavigator navigator = doc.CreateNavigator()
XPathNavigator routingNav = navigator.SelectSingleNode("looking for that it is necessary", namespace);
XmlSerializer s = new XmlSerializer(typeof(MyType));
using (StringReader r = new StringReader(routingNav.OuterXml))
{
using (XmlReader reader = XmlReader.Create(r))
{
mytype= (MyType)s.Deserialize(reader);
}
}
Все работает, но смущает, что использовать приходится и XPathNavigator, и StringReader, и XmlReader. Найти материалы про десериализацию, скажем, XPathNavigator напрямую не удалось. Есть ли более компактный способ десериализации?
Спасибо.