c# – 验证xml的有效方法?
发布时间:2020-12-16 01:50:36  所属栏目:百科  来源:网络整理 
            导读:我需要尽可能快地验证并在socket上接收下一个xml数据. 我正在使用此方法来验证收到的xml-datas. private validateRecievedXmlCallback(){ try { XmlReader xreader = XmlReader.Create(new StringReader(xmlData)); while (xreader.Read()) ; } catch (Excep
                
                
                
            | 
                         
 我需要尽可能快地验证并在socket上接收下一个xml数据. 
  
  
我正在使用此方法来验证收到的xml-datas. private validateRecievedXmlCallback()
{
  try
  {      
    XmlReader xreader = XmlReader.Create(new StringReader(xmlData));
    while (xreader.Read()) ;
  }
  catch (Exception)
  {
    return false;
  }
  return true;
} 
 但我认为这种方法效率不高.我实际上只需要检查最后一个标签. 例: <test valueA="1" valueB="2"> <data valueC="1" /> <data valueC="5" /> <data valueC="5">220</data> </test> //I need to check if </test> tag closed,but whats the best way to do it? 解决方法
 如果你坚持使用XmlReader,你可以使用XmlReader.Skip(),它会跳过当前元素的内容. 
  
  
        所以 xreader.ReadStartElement("test"); // moves to document root,throws if it is not <test>
xreader.Skip(); // throws if document is not well-formed,e.g. root has no closing tag. 
 正如其他评论者已经说过的那样,除了使用XML解析器之外,没有什么好的方法可以保证XML文档的良好格式. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!  | 
                  
