我是用下面语句load xml 字符串的。XmlDocument _Document = new XmlDocument();
_Document.LoadXml(xmlString); //xmlString is str type 字符串不过,如果xmlString的内容不是一个合法的XML字符串,系统会报错。
我可以用try-catch捕捉,但是,有没有什么函数可以在事先判断一下这个字符串的合法性?我想把代码写成:str xmlString= "xxxxxxxxxxx";
XmlDocument _Document = new XmlDocument();
if (IsXML(xmlString))
{
    _Document.LoadXml(xmlString); //xmlString is str type 字符串
}
请问,有没有什么系统函数可以实现IsXML(xmlString) 这个检查?谢谢!!!

解决方案 »

  1.   

    1,如果想办法能用AS,IS就好办了,可是STRING和XML不知道能不能直接用AS或IS
    2,按你说的,用TRY
    3,麻烦些,因为XML有严格格式标准的,我想用正则可以大概判断下格式是否正确吧,起码判断下标签是否成对(考虑直接结束的那种,如:<SomeElement />),总之是有规律的
    4,楼下的补充吧...
      

  2.   

    1,如果想办法能用AS,IS就好办了,可是STRING和XML不知道能不能直接用AS或IS
    2,按你说的,用TRY
    3,麻烦些,因为XML有严格格式标准的,我想用正则可以大概判断下格式是否正确吧,起码判断下标签是否成对(考虑直接结束的那种,如:<SomeElement />),总之是有规律的
    4,楼下的补充吧...
      

  3.   

    要判断,读xml是必须的  
    就像以前有个人问 他想知道command语法对不对 但是又不想try execute 
    那就必须做sql语法词法分析 其复杂程度可想而知
    System.Xml.Schema.XmlSchemaValidator  LZ试试?  不过try捕捉是最简单的