📄 namespacenodegpathtest.groovy
字号:
package groovy.xml/** * Test the use of GPath navigation with namespaces */class NamespaceNodeGPathTest extends TestXmlSupport { void testTree() { Node root = new XmlParser().parseText("""<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:annotation xsd:cheese="Edam"> <xsd:documentation>Purchase order schema for Example.com.</xsd:documentation> </xsd:annotation></xsd:schema>""") Namespace xsd = new Namespace('http://www.w3.org/2001/XMLSchema', 'xsd') def children = root.children() println "has children $children" def name = root.name() println "name is of type ${name.getClass()} with value $name" root.children().each { println "has a child with name ${it.name()} and content $it" } def foo = xsd.annotation println "qname is $foo" println "qname url is $foo.namespaceURI" println "qname prefix is $foo.prefix" println "qname localPart is $foo.localPart" def a = root[xsd.annotation] println "Found results $a" assert a.size() == 1 : " size is $a.size()" def aNode = a[0] def cheese = aNode.attributes()[xsd.cheese] assert cheese == "Edam" println "Found namespaced attribute $cheese" cheese = aNode.attribute(xsd.cheese) assert cheese == "Edam" println "Found namespaced attribute $cheese" def e = root[xsd.annotation][xsd.documentation] //def e = a[xsd.documentation] assert e.size() == 1: " size is $e.size()" String text = e.text() println "Found element: $e with text: $text" assert text == "Purchase order schema for Example.com." }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -