私はこのシナリオを得ました:
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の内容の「スナップショット」を、その位置に干渉することなく取得するにはどうすればよいですか?