XML在CDATA中添加外部元素的内容

时间:2019-07-18 20:23:52

标签: xml

我有一个传递给XML解析器的XML文件,我需要从外部资源加载内容,如下所示:

<!DOCTYPE foo [<!ELEMENT foo ANY >
<!ENTITY data SYSTEM "file:///d:/data.txt" >]>
<component id="200">
  <![CDATA[&data;]]>
</component>

我希望将数据写入CDATA标记内,但是,这只是引入了<![CDATA[&data;]]>,并且由于CDATA标记被视为注释,因此永远不会获取外部资源数据。

数据必须在CDATA标记内才能被接受。 如何做到这一点?

谢谢!

1 个答案:

答案 0 :(得分:1)

您的要求似乎是自相矛盾的。 <![CDATA[ ... ]]>的全部要点是,方括号内的所有内容(]]>除外)都被视为常规字符数据,而不是标记。如果您想使用诸如&data;之类的实体引用,那很好,但是将它们放在CDATA节中是对XML解析器的显式指令,以忽略它们。