我得到了这个场景:
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 之前对节点执行任何类型的 READ 操作,它会向前移动阅读器。
如何在不干扰其位置的情况下获得阅读器 OuterXml 内容的“快照”?