我有这样的情况:
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
}
}
}
在上述循环中,我正在将某个节点(itemElementName)转换为XElement。有些节点将是良好的XML,并将进入XElement,但有些则不会。
在CATCH中,我不仅想捕获标准的XmlException内容...我还想捕获当前Xml的摘录和字符串。
然而,如果在将节点传递给XElement之前对其进行任何类型的读取操作,它会将阅读器向前移动。
如何获取阅读器OuterXml内容的"快照",而不干扰其位置?