测试关闭标记

本文关键字:测试 | 更新日期: 2023-09-27 18:07:32

如何测试结束标记是否可用:

<A>
  <n>  
  <r>
  </r>
<b>
</b>

在上面的例子中,我缺少</A></n>结束标记。
如何检查这个?

代码:

   try
            {
                XmlDocument xdoc = new XmlDocument();
                xdoc.LoadXml(FileName);
            }
            catch (XmlException xe)
            {
                XmlDocument xdoc = new XmlDocument();
                xdoc.LoadXml(FileName);
                xdoc.AppendChild(xdoc.CreateElement("/n"));
                xdoc.AppendChild(xdoc.CreateElement("/A"));
            }

但是它给了我一个异常:根数据无效。xml缺少/n和/A的结束标记。请建议。

编辑2:

try
            {
                XmlDocument xdoc = new XmlDocument();
                xdoc.LoadXml(FileName);
                                }
            catch (XmlException xe)
            {
               using (StreamWriter w = File.AppendText(FileName))
           {
               w.WriteLine("</n>");
               w.WriteLine("</A>");
           }
            }

现在使用Edit 2,它使用缺失的标记来更正文件名。但是,如果xml已经可用,它仍然进入并放在另一个标记/n/A中,并给我异常:意外结束标记。

测试关闭标记

将其加载到XmlDocument中,在其周围放置一个try-catch,如果有任何异常,则意味着您的XML字符串有问题(缺少关闭标记,无效字符等)-

try{
    XmlDocument xdoc = new XmlDocument();
    xdoc.LoadXml(xmlString);
}
catch (XmlException xe)
{
    System.Windows.Forms.MessageBox.Show(xe.Message);
}