【问题标题】:Groovy XMLSlurper namespace error without namespaces没有命名空间的 Groovy XMLSlurper 命名空间错误
【发布时间】:2012-03-04 13:58:59
【问题描述】:

我有以下 XMLSlurper 无法解析的 XML。我认为 XMLSlurper 认为 xxx:yyy 是某种命名空间。有没有机会改变这种行为?

<node>
  <application app_name="export" 
               app_data="nolocal:api_on_answer=sched_hangup +3600 40887ffe-65de-11e1-89da-e9feb0a98acf alloted_timeout" 
               app_stamp="1330854103808996">
  </application>
</node>

我无法更改 XML。 我得到的错误:

The prefix "nolocal" for element "nolocal:api_on_answer" is not bound.. Stacktrace follows:
Message: The prefix "nolocal" for element "nolocal:api_on_answer" is not bound.
Line | Method
->>   48 | doCall    in sipsy.admin.WebapiController$_closure4$$ENQh9JnT
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|   1110 | runWorker in java.util.concurrent.ThreadPoolExecutor
|    603 | run . . . in java.util.concurrent.ThreadPoolExecutor$Worker
^    722 | run       in java.lang.Thread

【问题讨论】:

  • 我无法使用 Groovy 1.8.5 重现此问题。你用的是什么版本?
  • 对不起,我的错(像往常一样:D)。我使用了错误的数据。有 2 个 xml 字符串,我发布的一个和一个类似的,带有 标签。我真丢脸...谢谢你的时间:)
  • 只是为了完整:如果您需要解析不是 100% 有效的 XML,您可以将 2 个布尔值传递给 XmlSlurper(a, b) 的构造函数。 A 用于验证,b 用于命名空间感知。
  • @thelittlebug - 如果这解决了您的问题,请将问题标记为已回答或将其删除。
  • @GreyBeardedGeek - 我如何将问题标记为已回答?

标签: grails groovy xmlslurper


【解决方案1】:

对不起,我的错(像往常一样:D)。我使用了错误的数据。有 2 个 xml 字符串,一个是我发布的,一个是类似的,带有一个标签。真丢脸...谢谢你的时间:)

为了完整:如果您需要解析不是 100% 有效的 XML,您可以将 2 个布尔值传递给 XmlSlurper(a, b) 的构造函数。 A 用于验证,b 用于命名空间感知。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-23
    • 2014-05-09
    相关资源
    最近更新 更多