我有一个类似于下面的XML:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"
[<!ENTITY IP_COF "xxx.xxx.xxx.xxx">]
>
<properties>
<comment>Properties for COF API</comment>
<entry key="SesameURL">http://&IP_COF;:8080/openrdf-sesame</entry>
<entry key="RDbNamespaces">
<![CDATA[PREFIX vocab: <http://&IP_COF;:2020/vocab/resource/>]]>
</entry>
</properties>
当我使用Internet Explorer打开xml文件时,&IP_COF;
的第一个实例已正确替换为对应的IP_COF
值,而IP_COF
部分中的CDATA
已更正没有被重视。有没有办法强制IP_COF
部分内的CDATA
标记?
答案 0 :(得分:3)
不 - CDATA部分的重点是解析器不改变它们。
如果你想在那里使用实体扩展,你需要删除CDATA,并对URL进行核心编码,即
<entry key="RDbNamespaces">
PREFIX vocab: <http://&IP_COF;:2020/vocab/resource/>
</entry>