traversaltestsupport.groovy
来自「Groovy动态语言 运行在JVM中的动态语言 可以方便的处理业务逻辑变化大的业」· GROOVY 代码 · 共 36 行
GROOVY
36 行
package groovy.xml
class TraversalTestSupport {
private static def nestedXml = '''
<_1>
<_1_1>
<_1_1_1/>
<_1_1_2>
<_1_1_2_1/>
</_1_1_2>
</_1_1>
<_1_2>
<_1_2_1/>
</_1_2>
</_1>
'''
static void checkDepthFirst(Closure getRoot) {
def root = getRoot(nestedXml)
def trace = ''
root.depthFirst().each{ trace += it.name() + ' ' }
assert trace == '_1 _1_1 _1_1_1 _1_1_2 _1_1_2_1 _1_2 _1_2_1 '
// test shorthand
trace = ''
root.'_1_2'.'**'.each{ trace += it.name() + ' ' }
assert trace == '_1_2 _1_2_1 '
}
static void checkBreadthFirst(Closure getRoot) {
def root = getRoot(nestedXml)
def trace = ''
root.breadthFirst().each{ trace += it.name() + ' ' }
assert trace == '_1 _1_1 _1_2 _1_1_1 _1_1_2 _1_2_1 _1_1_2_1 '
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?