【问题标题】:Escaping XML using Java and Marklogic使用 Java 和 Marklogic 转义 XML
【发布时间】:2013-09-20 16:54:31
【问题描述】:

我正在使用 Java 和 Marklogic 的 XCC API 将 XML 加载到 Marklogic 数据库中。在此之前,我使用 Apache Commons 来转义元素的内容 (StringEscapeUtils.escapeXml)。但是,在加载内容时,由于内容中的花括号字符,我出错了。 escapeXml 不处理大括号。我的问题是:

1) 这是 Marklogic 特有的问题(可能与 XCC 相关)还是一般 XML 的问题?
2) 是否还有其他字符也可能导致问题(即没有被 escapeXml 例程转义)?
3) 是否有不同的例程可以用来避免这个和任何未来不受欢迎的字符?

【问题讨论】:

    标签: java xml marklogic


    【解决方案1】:

    使用 XCC 时不应转义内容,它会自行转义内容,因此您会进行双重转义。然而花括号通常不是 XML 抱怨的东西,也许您使用的是 Invoke 而不是 Insert 方法。 (即 XCC 会尝试将您的内容解释为 XQuery)

    您能否提供您的内容和代码示例 sn-p ?

    【讨论】:

    • 感谢 DALDEI 的输入。感谢您的回答,我能够弄清楚。我们的例程使用模板化调用,将内容插入到模板中。所以内容被放置在一个看起来像这样的调用中: "collectionbatcat:update-record-list(\"\", )";花括号被视为 xquery 命令的一部分 - 导致错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-31
    • 2014-01-06
    • 1970-01-01
    • 2019-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多