【发布时间】: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