解析xml中cdata标记中的java代码 50

xml中的cdata标记……<argname="script"><![CDATA["Finished".equals(jn.getStep(2).getStatus())... xml中的cdata标记
……
<arg name="script"><![CDATA[
"Finished".equals(jn.getStep(2).getStatus()) &&"fail".equals(propertySet.getString("action1"))
]]></arg>
……

我用sax解析的时候想提取cdata中的java代码,然后当做布尔判断条件,请问大神们怎么操作……
…………
……
……找到解决办法了!!!……

0、<![CDATA[--只是做字符串处理--]]>:这个是最基础的,解析出来直接用就行了。

1、<![CDATA[--javascript代码--]]> :解析时在js中可以用eval表达式进行字符串->表达式转换。

2、<![CDATA[--java代码--]]>:

因为解析出来肯定是一大堆字符串,所以面临一个比较恶心的问题,如何将复杂的字符串code转换成javacode,初步想到的是 用classloader进行字符串编译处理,不过比较麻烦,详情可以参考:http://blog.csdn.net/luanxj/article/details/1393611

但是这种方法比较恶心,因为对字符串code进行重新编译。突然想到osworkflow的官方配置文件中有cdata中镶嵌java代码的情况,赶紧找到以前做电子流的项目,看了一下源码,才发现它们使用了beanshell,其实就是源码解释语言,几行代码就解决问题了。
展开
 我来答
人鱼的桥段
2015-07-13 · 超过91用户采纳过TA的回答
知道小有建树答主
回答量:224
采纳率:75%
帮助的人:78万
展开全部
"Finished".equals(jn.getStep(2).getStatus()) &&"fail".equals(propertySet.getString("action1"))
//jn.getStep(2).getStatus()这个方法如果返回Finished 且 propertySet.getString("action1")这个方法返回fail 则整个返回true 否则返回false
更多追问追答
追问
我了个去,大哥,不是问你java语法啊,是在问如何取cdata中的代码并执行,麻烦看清楚问题好不?
追答
呵呵 真是醉了 什么都不懂来提问 好好学习吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式