当前位置: 首页 > 面试题库 >

&符号(&)处的XML错误

滕项明
2023-03-14
问题内容

我有一个php文件,它基于MySql db打印xml。

每当出现 符号时,我都会出现错误。

这是一些php:

$query = mysql_query($sql);

$_xmlrows = '';

while ($row = mysql_fetch_array($query)) {
    $_xmlrows .= xmlrowtemplate($row);
}

function xmlrowtemplate($dbrow){
    return "<AD>
              <CATEGORY>".$dbrow['category']."</CATEGORY>
            </AD>
}

输出是我想要的,即文件输出正确的类别,但仍然给出错误。

错误消息: xmlParseEntityRef:无名称

然后它指向确切的字符,即 符号。

仅当$dbrow['category']带有带有 符号的东西时才抱怨,例如:“ cars&trucks ”或“
computers&phones ”。

有人知道是什么问题吗?

顺便说一句:我在所有文档中都将编码设置为UTF-8,并且将xml输出设置为。


问题答案:

&在XML中启动实体。由于您尚未定义实体&WhateverIsAfterThat,因此会引发错误。您应该使用来逃避它&amp;

$string = str_replace('&', '&amp;', $string);

如何在XML中转义“&”号

要转义其他保留字符:

function xmlEscape($string) {
    return str_replace(array('&', '<', '>', '\'', '"'), array('&amp;', '&lt;', '&gt;', '&apos;', '&quot;'), $string);
}


 类似资料:
  • 我快疯了,VSCode在任何地方都会给我这个错误(包括js文件和.gitignore.dockerignore文件,甚至对于.gitignore中的node_modules这样的简单行) 我需要一些想法 我的配置文件 我的扩展非常标准 漂亮 反应片段 码头工人 萨斯 埃斯林特 一些随机主题 编辑器配置 图形 自动导入

  • 问题内容: 我正在尝试从Flickr中读取RSS提要,但它具有一些不能被Simple XML读取的节点(,等等)。 我该如何解决?当我查看DOM文档时,我的头很痛。所以我想避免这种情况,因为我不想学习。 我正在尝试获取缩略图。 问题答案: 解决方案在这篇不错的文章中进行了解释。您需要用于访问包含名称空间的XML元素的方法。此代码段摘自该文章:

  • 问题内容: 我正在使用dlopen在运行时加载共享库 在该共享库中,我引用了另一个共享库“ SharedLibarary2.so”中定义的const char *。 可执行文件和两个库都是使用-rdynamic构建的。 但是使用dlopen时,我仍然收到运行时错误:“ / usr / lib / SharedLibarary1.so:未定义符号”,并指向损坏的const char *具有未定义符号

  • 我正在用一种形式做一个简单的插入。 no_text dbname_m_db 我想回去看看。所以我要做4个测试,它们是 测试1:插入no_text 测试2:插入no_text_external 测试3:不插入任何文本 测试4:不同时插入两个 所以结果是,只有test3是成功地查看它。而其他3返回错误号格式例外:对于输入字符串:""。我不知道过滤它的最佳方法。这里的代码,我的工作。任何想法?

  • 问题内容: 我对C#中的准备好的语句有疑问: (当然,电子邮件包含有效的电子邮件地址,带有@符号)。 此代码返回一个随机错误- “”连接已被禁用“ {”错误[01000] [Microsoft] [ODBC SQL Server驱动程序] [TCP / IP套接字] ConnectionWrite(send())。错误[08S01] [Microsoft] [ODBC SQL Server驱动程序

  • 这里有一个类似的答案:如何在Java中将函数作为参数传递? 但提供的正确答案不起作用。我有一门课: 在函数内部我试图将传递到,但我得到的错误是: 找不到符号 符号:类Callable 我不知道为什么。 另外,我尝试使用返回类型字符串作为xMethod,您能传递一个返回类型不同的函数吗?