关于c#:如何在调用.LoadXml()之前检查字符串输入中的有效xml

关于c#:如何在调用.LoadXml()之前检查字符串输入中的有效xml

How to check for valid xml in string input before calling .LoadXml()

我更愿意在不捕获LoadXml()中的异常的情况下进行此操作,并将此结果作为逻辑的一部分。对于不需要自己手动解析XML的解决方案有什么想法吗?我认为vb对此函数的返回值为false,而不是引发xmlException。XML输入由用户提供。非常感谢!

1
2
3
4
5
6
7
8
9
10
11
12
13
if (!loaded)
{
     this.m_xTableStructure = new XmlDocument();
     try
     {
          this.m_xTableStructure.LoadXml(input);
          loaded = true;
     }
     catch
     {
          loaded = false;
     }
}

(P)Just catch the exception.The small overhead from catching an exception drowns compared to parsing the xml.(p)(P)如果你想发挥作用(for stylistic reasons,not for performance),落实这一点:(p)字母名称


(P)使用XMLValitingreader将防止例外,如果你提供你自己的有效的可能性。(p)


(P)I was unable to get xmlvalidaritinger&;validaritioneventhandler to work.XMLException is still thrown for impully formed xml.我用反射镜检查了这个方法。(p)(P)I indeed need to validate 100s of short xhtml fragments per second.(p)字母名称(P)XMLPARSercontext did not work either.(p)(P)有人跟雷吉克斯在一起吗?(p)


(P)如果卡钦对你来说太多,他们可能想在手之前,利用XML计划,验证XML的有效性,以确保XML是OK,但这将证明比卡钦更重要。(p)


(P)As already been said,I'd rather catch the exception,but using XMLPARSERcontext,you could try to parse"manually"and interact any anomaly;however,unless you're parsing 100 xml fragments per second,why not catching the exception?(p)


推荐阅读

    linux操作数据库命令?

    linux操作数据库命令?,地址,服务,系统,密码,数据库,工具,名字,首页,命令,参

    linux系命令的操作?

    linux系命令的操作?,工作,系统,信息,网络,命令,基础,简介,管理,目录,操作,lin

    linux操作常用命令?

    linux操作常用命令?,工作,系统,地址,信息,命令,目录,管理,标准,基础,工具,lin

    linux操作命令重命名?

    linux操作命令重命名?,图片,软件,名称,名字,文件,命令,状态,代码,工具,系统,L

    linux目录操作命令d?

    linux目录操作命令d?,工作,系统,信息,命令,情况,基础,数据,名称,地址,目录,li

    linux初学者操作命令?

    linux初学者操作命令?,工作,系统,信息,命令,网络,地址,单位,位置,管理,数据,L

    linux操作命令远程?

    linux操作命令远程?,软件,密码,系统,名称,图片,电脑,地址,网站,工具,服务,如

    linux操作命令实验一?

    linux操作命令实验一?,系统,基础,设备,西安,概念,软件,电脑,技术,管理,分析,

    linux调用函数的命令?

    linux调用函数的命令?,系统,代码,策略,上调,时间,设计,通信,网络,设备,项目,

    linux里的操作命令?

    linux里的操作命令?,工作,系统,信息,地址,命令,标准,位置,目录,功能,操作,lin

    linux外部命令调用?

    linux外部命令调用?,系统,软件,标准,命令,盘中,管理,外部,进程,程序,内存,lin

    linux分辨率操作命令?

    linux分辨率操作命令?,系统,情况,分辨率,底部,状态,命令,屏幕,屏幕分辨率,

    linux怎么调用命令行?

    linux怎么调用命令行?,系统,地址,工具,工作,首页,终端,命令,密码,信息,情况,l

    linux命令行操作软件?

    linux命令行操作软件?,软件,工具,系统,名称,管理,工作,命令,设计,平台,标准,

    linux命令解决方案?

    linux命令解决方案?,系统,管理,数据,电子,工作,电脑,软件,情况,不了,档案,lin

    linux检查硬盘的命令?

    linux检查硬盘的命令?,系统,信息,检测,情况,命令,工具,电脑,地址,设备,硬盘,l

    linux常见操作命令?

    linux常见操作命令?,系统,工作,信息,管理,地址,命令,目录,单位,数据,标准,lin

    浏览器调用linux命令?

    浏览器调用linux命令?,系统,信息,人工智能,软件,数据,首次,地址,代码,咨询,

    py调用linux的命令?

    py调用linux的命令?,系统,代码,状态,环境,标准,工具,命令,文件,脚本,终端,lin

    红帽子linux操作命令?

    红帽子linux操作命令?,服务,系统,密码,环境,信息,通用,软件,状态,设备,命令,