WEB开发网
开发学院软件开发Java 实战 Groovy: 构建和解析 XML 阅读

实战 Groovy: 构建和解析 XML

 2009-11-18 00:00:00 来源:WEB开发网   
核心提示: 注意,StreamingMarkupBuilder 直到您调用 bind() 方法时才会生成最终的 XML,实战 Groovy: 构建和解析 XML(8),该方法将接受标记和所有指令,这允许您异步构建 XML 文档的各个部分, XmlParser 提供了更加以程序员为中心的 XML 文档视图,如

注意,StreamingMarkupBuilder 直到您调用 bind() 方法时才会生成最终的 XML,该方法将接受标记和所有指令。这允许您异步构建 XML 文档的各个部分,并同时输出它们。

理解 XmlParser

Groovy 为您提供了两种生成 XML — MarkupBuilder 和 StreamingMarkupBuilder 的方式 — 它们分别具备不同的功能。解析 XML 也同样如此。您可以使用 XmlParser 或者 XmlSlurper。

XmlParser 提供了更加以程序员为中心的 XML 文档视图。如果您习惯于使用 List 和 Map(分别对应于 Element 和 Attribute)来思考文档,则应该能够适应 XmlParser。清单 11 稍微解析了 XmlParser 的结构:


清单 11. XmlParser 详细视图
def xml = """ 
<langs type='current' count='3' mainstream='true'> 
 <language flavor='static' version='1.5'>Java</language> 
 <language flavor='dynamic' version='1.6.0'>Groovy</language> 
 <language flavor='dynamic' version='1.9'>JavaScript</language> 
</langs> 
""" 
 
def langs = new XmlParser().parseText(xml) 
println langs.getClass() 
// class groovy.util.Node 
 
println langs 
/* 
langs[attributes={type=current, count=3, mainstream=true}; 
   value=[language[attributes={flavor=static, version=1.5}; 
           value=[Java]], 
       language[attributes={flavor=dynamic, version=1.6.0}; 
           value=[Groovy]], 
       language[attributes={flavor=dynamic, version=1.9}; 
           value=[JavaScript]] 
      ] 
] 
*/ 

上一页  3 4 5 6 7 8 9 10  下一页

Tags:实战 Groovy 构建

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接