XML修复转义实体

时间:2014-10-17 04:26:47

标签: c# .net xml

我读了一个xml文件,如果有一个转义实体我想在我做一些处理之前修复它并将xml文件写回来。这就是我正在做的事情:

    try
{

 var doc = new XmlDocument();
// do some job

}

catch (Exception e)
{
   if (e is XmlException)
   {
     checkXML(doc);
   }
  else
  {
   // do some job 
  }
}

finally
{

  _watcher.EnableRaisingEvents = true;
   GC.Collect();
    GC.WaitForPendingFinalizers();
    GC.Collect();
 }

 public void checkXML(XmlDocument doc)
        {
            XmlNode node;

            node = doc.SelectSingleNode("/BroadcastMonitor/Current");
            node["name1"].InnerText = SecurityElement.Escape(node["name1"].InnerText);
            node["name2"].InnerText = SecurityElement.Escape(node["name2"].InnerText); ;


        }

我的第一个问题:我无法访问 catch 中的 doc 实例。如何访问doc实例以将其传递给 checkXML

我的第二个问题:在修复了转义元素之后,我想返回try块继续执行需要在xml文件上完成的作业。这怎么可能,或者我是否使用嵌套的try / catch。

请解释一下。谢谢。

0 个答案:

没有答案