Cześć chłopaki, mam następujący scenariusz:Jak czytać z XmlReader bez ruchu przekazuje
while (reader.Read())
{
if (reader.NodeType == XmlNodeType.Element && reader.Name == itemElementName)
{
XElement item = null;
try
{
item = XElement.ReadFrom(reader) as XElement;
}
catch (XmlException ex)
{
//log line number and stuff from XmlException class
}
}
}
W powyższej pętli mam transformującego pewien węzeł (itemElementName) w jego Xelement.
Niektóre węzły będą dobre XML i przejdą do XElement, ale niektóre nie.
W POŁOWIE chciałbym nie tylko złapać standardowe rzeczy XmlException ... Chciałbym również pobrać wyciąg z bieżącego Xml i ciąg.
Jednakże, jeśli wykonuję jakąkolwiek operację READ na węźle przed przekazaniem go do XElement, przesuwa ona czytnik do przodu.
W jaki sposób uzyskać "migawkę" zawartości OuterXml czytnika bez zakłócania jego pozycji?
tak, doskonale, dziękuję, właśnie to się działo. Dziękuję za wyjaśnienie! – andy
Ah .. Zupełnie źle zinterpretowałem punkt ReadSubTree, a potem przepraszam.Szczerze mówiąc, nie wynika to z dokumentacji w przeglądarce obiektów, ale strona MSDN czyni ją bardziej zrozumiałą. – Flynn1179
Właśnie wróciłem i jeszcze raz rzuciłem okiem na kod, który mam, który go używa; faktycznie przestaje to czytać po zakończeniu pracy z poddrzewem, więc nigdy nie zauważyłem, że to on również przesunie oryginalny czytnik. – Flynn1179