我试图了解如何使用外部实体,但我遗漏了一些东西。
我有第一个文件 test_entity.xml
<?xml version="1.0" encoding="UTF-8" ?>
<test>
<test_1>Inside</test_1>
</test>
第二个文件 test_entity2.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE root [
<!ENTITY test_entity SYSTEM "/Users/username/test_entity.xml">
<!ENTITY test_string "This is a test">
]>
<root>
<tmp id="1">&test_entity;</tmp>
<tmp id="2">&test_string;</tmp>
</root>
这里我试图将test_entity.xml内容嵌入到test_entity2.xml中,但输出如下所示:
<root>
<tmp id="1"/>
<tmp id="2">This is a test</tmp>
</root>
我错过了什么?
更新
我正在通过firefox和chrome
显示test_entity2.xml答案 0 :(得分:6)
您所做的是有效的XML,并且可以使用符合规范且不受安全限制影响的XML解析器。
尝试在IE中查看XML。某些浏览器(如FireFox和Chrome)具有非常严格的安全设置,并且不会加载文件实体引用和引用filesystm上的文件的XSLT处理指令。