我有一个 xml 文件。
<?xml version="1.0" encoding="UTF-8"?>
<channel>
<item>content with special character é</item>
</channel>
假设上面是 xml 文件,除了产品目录中的内容,还有更多的标签和内容。这是使用以下过程创建的:
- 从coldfusion文件调用数据库
- 使用过程从数据库中获取内容并返回到coldfusion文件
- 在coldfusion中创建一个xml文件(只需使用文件名,例如:“filename.xml”)
- 通过在coldfusion中循环查询并将每个产品的产品添加到xml文件中,将内容写入文件
当我尝试在 Firefox 中打开文件时,这给了我错误(我测试 xml 文件解析的方式)。告诉我我有一些特殊字符需要转义(“xml 格式不正确”或类似的东西)。所以我将 CDATA 标签放在这些 xml 标签中,这应该可以解决这个问题,对吧?它没有。它一直在遇到特殊字符,而不仅仅是为 xml 保留的字符(&、<、>、..)。
这是我开始失去它的时候。在手动创建较小的 xml 文件(而不是通过冷融合)进行了一些尝试和测试之后,我只需删除 CDATA 标记并插入上面的代码就可以使用它。Firefox 可以很好地解析上述代码。所以经过一番思考,我只是将错误文件的全部内容(原始文件)复制到了一个全新的手动创建的 xml 文件(.txt --> 重命名为 .xml),瞧,没有更多错误了。
有人可以向我解释一下,在这种情况下,从第一个复制到第二个内容完全相同的 2 个单独文件如何以不同方式解析。第一个在特殊字符上显示多个错误,第二个对这些完全没有问题..?拜托,有人,在我在这里发狂之前……>_>
编辑 1: 当我说特殊字符时,我特别指的是 utf-8 字符。我不是在谈论为 xml 保留的字符(&、<、>、...),我已经转义了这些字符。