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文档的良好格式. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |