由 "&"实体引用引起的XQuery无效实体引用错误

标签 xquery marklogic entityreference

我正在尝试运行此行 xdmp:unquote(concat('<info>', string( $paragraph) , '</info>'))但我收到以下错误:xdmp:unquote("<info>LEARNING &amp; MEMORY</info>") -- Invalid entity reference " " at line 1 。看起来这个实体引用&amp;导致了问题。我尝试使用 replace 删除它功能但它仍然存在。我该怎么办?

最佳答案

我假设你有这样的东西 -

let $paragraph := <p>LEARNING &amp; MEMORY</p>
return
xdmp:unquote(fn:concat('<info>', fn:string($paragraph),'</info>'))

您想要的结果是 XML,如下所示 -

<info>LEARNING & MEMORY</info>

“&”符号肯定是问题所在,解决方法是使用“repair-full”选项。这个例子有效:

let $paragraph := <p>LEARNING &amp; MEMORY</p>
let $contents := xdmp:unquote($paragraph, "", "repair-full")
return
<info>{$contents}</info>

关于由 "&amp;"实体引用引起的XQuery无效实体引用错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38357654/

相关文章:

xquery - 为什么这个 XQuery 过滤器会返回不需要的元素?

xpath - 字符串作为xpath选择器

marklogic - JSON 的架构验证

Marklogic 将空节点传递给 xquery 函数

xquery - 如何在具有多个命名空间的元素上创建范围索引

java - 删除少量节点的 XQuery

java - Marklogic 在 optic Java API 中执行 sql 查询

email - 如何使用crm通过简单的电子邮件地址发送电子邮件?

php - 当一个 CT 引用另一个时,如何消除 View 中重复的 Drupal 节点?

c# - Entity Framework - 插入具有多个模型和数据库的实体