Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 外部xml dtd中的实体_Html_Xml_Dtd Parsing_Dtd - Fatal编程技术网

Html 外部xml dtd中的实体

Html 外部xml dtd中的实体,html,xml,dtd-parsing,dtd,Html,Xml,Dtd Parsing,Dtd,我试图将实体放在外部DTD文件中,但在解析时,它没有在XML中显示实体的值 但是当我将XML和DTD组合到下面的一个文件中时,它的工作原理是我的XML和DTD代码 info.xml &公司信息; &隐私政策; 注意。dtd info.xml和Note.dtd在同一个文件夹中我不确定您使用什么来解析xml,但我知道如果您使用文件扩展名“.dtd”,Xerces将抛出关于未声明的错误 尝试将“Note.dtd”更改为“Note.ent” 我对您的示例文件执行了此操作,错误消失了。此外,我

我试图将实体放在外部DTD文件中,但在解析时,它没有在XML中显示实体的值

但是当我将XMLDTD组合到下面的一个文件中时,它的工作原理是我的XMLDTD代码

info.xml


&公司信息;
&隐私政策;
注意。dtd



info.xmlNote.dtd在同一个文件夹中

我不确定您使用什么来解析xml,但我知道如果您使用文件扩展名“.dtd”,Xerces将抛出关于未声明
的错误

尝试将“Note.dtd”更改为“Note.ent”

我对您的示例文件执行了此操作,错误消失了。此外,我还可以在原始info.xml上使用Saxon进行身份转换,实体引用得到了正确解析


我也有同样的问题,只是用php来代替
loadXML($file,LIBXML\u NOENT | LIBXML\u DTDLOAD);
$element=$dom->getElementsByTagName('user')[0];
echo$element->nodeValue;

?>

目前我试图在浏览器firefox和safari中直接打开XML,但在两种浏览器中都出现了错误。我的主要目标是使用@AnupSingh上提供的json-LIB将XML转换为json——Firefox(和safari)不会加载外部DTD或外部实体。啊!。。真倒霉。。谢谢你的回复。。您能否建议我“将XML转换为解析外部实体引用的JSON的首选方法是什么”。@AnupSingh-对不起,我没有JSON方面的经验。但这将是一个很好的新问题。:-)检查我的github存储库
<!DOCTYPE info SYSTEM "./Note.dtd">  <info>   
<info>
<company>&company_info;</company>   
<privacy_policy>&privacy_policy;</privacy_policy>  </info>
</info>
<!ENTITY company_info "<name>Test Company</name><location>Berlin</location><phone>1800-000-000</phone>">
<!ENTITY privacy_policy "Lorem ipsum dolor sit amet, consectetur adipisicing elit, .">