使用XmlDocument/XmlDataDocument类加载XML文件时如何忽略DTD验证

原创 2007年09月17日 15:21:00

在XML文件含有外部DTD验证的时候,使用XmlDocument/XmlDataDocument类的Load方法会抛出如下的例外:

System.Xml.XmlException: 未找到所需的 DTD 标记。 行 m,位置 n。

我们可以采用下面的方法不去加载外部资源:

XmlDocument doc = new XmlDocument();
doc.XmlResolver 
= null;
doc.Load(url);

或者在.NET 2.0以上版本采用下面的方法:

XmlReaderSettings xs = new XmlReaderSettings();
xs.XmlResolver 
= null;
xs.ProhibitDtd 
= false;
XmlReader reader 
= XmlReader.Create(url, xs);
XmlDocument doc 
= new XmlDocument();
doc.Load(reader);

更多信息请参考:
System.Xml 安全注意事项
http://msdn2.microsoft.com/zh-cn/library/ms172415(VS.80).aspx 

使用XmlDocument类加载XML文件时如何忽略DTD验证

错误提示:System.Xml.XmlException:未找到所需的 DTD 标记。 行 2,位置 3。 这是因为要载入的xml文件有外部的DTD验证,解决办法就是不去加载外部资源。 ...

读取本地DTD文件的解决办法

1.将DTD文件放在web目录,例如发布的目录为TDE,这需要将对应的DTD文档放在TDE目录下,同时修改配置文件的的DTD设置为: 例如: "-//mybatis.org//DTD Co...

jdom 或 dom4j读取xml文件时如何让dtd验证使用本地dtd文件或者不生效

一、写在所有之前: 因为dom4j和jdom在这个问题上处理的方法是一模一样的,只是一个是SAXBuilder 一个SAXReader,这里以jdom距离,至于dom4j只需要同理替换一下就可以了。...

Dom4j读取XML文件时遇到的一个问题(关于DTD)

最近做一个小项目,要用到Dom4j对XML文件进行读取,获得数据库配置信息,XML文件如下: com.microsoft.sqlserver.jdbc.SQLServerD...

用XML文件加载主题风格theme

  • 2014年08月30日 11:30
  • 1.09MB
  • 下载

C#中用XmlDocument对象获取XML文件中的节点值

C#中用XmlDocument对象获取XML文件中的节点值 XmlDocument是表示DOM的类。 1.加载XML文档:使用load()方法加载XML文档; 2.读取节点:使用GetEleme...

C# XML文件的一些操作(XmlDocument、XmlElement、XmlNode)

C#操作xml主要有这么几个对象:XmlDocument、XmlElement、XmlNode 命名空间: using System.Xml; 知识补充: XmlNode和XmlElement...

XMLDocument方式读取XML文件(树结构)

本笔记计划总结XMLDocument方式读取XML文件并与readXML 方式进行对比 功能需求: 提供路线表,包含路线及路线内站台信息。提供实际得到的路线及站台号信息,核对该站台号是否在该路线中...

Flex DataGrid从XML文件中加载数据

  • 2010年04月13日 14:42
  • 13KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用XmlDocument/XmlDataDocument类加载XML文件时如何忽略DTD验证
举报原因:
原因补充:

(最多只允许输入30个字)