我正在使用XmlReader类,即只进阅读器。我正在调用的方法将光标作为副作用移动。但是,有时该方法会引发异常,并将光标留在意料之外的地方。我该如何处理?
xml.ReadStartElement("root");
if (xml.IsStartElement("Results"))
{
try
{
results = Results.FromXml(xml);
// if method successful, it reads past the closing tag of the 'Results' element
}
catch
{
results = null;
// I want to manually move the cursor past the closing tag of the 'Results' element.
}
}
示例文档
<root>
<results>
<arbitaryxml/>
</results>*
<signatures>
如果Results.FromXml 方法成功,光标将留在*。但是,如果失败,它可能会留在结果元素内的任何位置。我希望我的 catch 块确保光标前进到 *. (注意。下一个元素并不总是称为“签名”)。
我发现这很难解释。请问是否需要澄清,我可以举更多的例子。