在加载一个XML文件时候,文件内容如下:<?xml version="1.0" encoding="utf-16"?>
<!DOCTYPE NewsML PUBLIC "urn:newsml:iptc.org:20001006:NewsMLv1.0.dtd:1" "../DTD/NewsMLv1.0.dtd" [
<!ENTITY % InContent SYSTEM "../DTD/InContentv1.0.dtd">
<!ENTITY % Kddata SYSTEM "../DHDTD/KdDHKgMLv1.0.dtd">
%InContent;%Kddata;
]>
<NewsML>
……
</NewsML>其中涉及到很多DTD,当本地没有这些DTD文件时候,就加载不成功并发出异常。
有没有什么办法,让加载不去检查这些DTD文件?因为我要的只是XML文件中一些Value。谢谢
<!DOCTYPE NewsML PUBLIC "urn:newsml:iptc.org:20001006:NewsMLv1.0.dtd:1" "../DTD/NewsMLv1.0.dtd" [
<!ENTITY % InContent SYSTEM "../DTD/InContentv1.0.dtd">
<!ENTITY % Kddata SYSTEM "../DHDTD/KdDHKgMLv1.0.dtd">
%InContent;%Kddata;
]>
<NewsML>
……
</NewsML>其中涉及到很多DTD,当本地没有这些DTD文件时候,就加载不成功并发出异常。
有没有什么办法,让加载不去检查这些DTD文件?因为我要的只是XML文件中一些Value。谢谢
StreamReader sReader = new StreamReader(filePath, Encoding.Unicode);
xmlDoc.Load(sReader);我是这样加载的。
如果我删除那几句的话,加载就可以成功呀。
但是我不能每个XML文件都打开删除一下吧?
有什么其他加载方法吗?
再用xml读取。
你是不是说如果"<!ENTITY % InContent SYSTEM "../DTD/InContentv1.0.dtd">
<!ENTITY % Kddata SYSTEM "../DHDTD/KdDHKgMLv1.0.dtd"> "只要出现了.dtd的就没办法
是否说如果是
"<!ENTITY % InContent SYSTEM> "
<!ENTITY % Kddata SYSTEM >"这样的话就是可以的?