Groovy++和XML

发布于 2024-11-15 08:17:37 字数 721 浏览 0 评论 0原文

可以使用静态类型的 Groovy++ 进行 XML 处理吗?

示例(为了进行测试,您可以使用 Groovy++ Web 控制台):

@Typed package test
def CAR_RECORDS = '''
  <records>
    <car name='HSV Maloo' make='Holden' year='2006'>
      <country>Australia</country>
      <record type='speed'>Production Pickup Truck with speed of 271kph</record>
    </car>
  </records>
'''

def records = new XmlSlurper().parseText(CAR_RECORDS)
println records.car
​

结果:

startup failed:
Script1.groovy: 14: Cannot find property car of class GPathResult
 @ line 14, column 9.
   records.car
           ^

1 error

Can be used statically typed Groovy++ for XML processing?

Example (for testing you can use Groovy++ web console):

@Typed package test
def CAR_RECORDS = '''
  <records>
    <car name='HSV Maloo' make='Holden' year='2006'>
      <country>Australia</country>
      <record type='speed'>Production Pickup Truck with speed of 271kph</record>
    </car>
  </records>
'''

def records = new XmlSlurper().parseText(CAR_RECORDS)
println records.car
​

The result:

startup failed:
Script1.groovy: 14: Cannot find property car of class GPathResult
 @ line 14, column 9.
   records.car
           ^

1 error

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

⒈起吃苦の倖褔 2024-11-22 08:17:39

看起来不像...您可以使用:

@Typed(TypePolicy.MIXED)

然后

println records.car

工作,但是您无法通过以下方式获取属性值:

println records.car.@name

然后您会收到错误:

Cannot find field name of class Object

我猜 XmlSlurping 目前对于 groovy++ 来说有点过于动态

Doesn't look like it... You can use:

@Typed(TypePolicy.MIXED)

and then

println records.car

works, but you cannot get to attribute values via:

println records.car.@name

As you then get the error:

Cannot find field name of class Object

I guess XmlSlurping is currently a bit too dynamic for groovy++

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文