문서의 선택한 두 판 사이의 차이를 보여줍니다.
다음 판 | 이전 판 | ||
groovy:xml [2014/02/12 10:32] kwon37xi 새로 만듦 |
groovy:xml [2017/12/27 08:29] (현재) kwon37xi [XML Builder] |
||
---|---|---|---|
줄 1: | 줄 1: | ||
====== Groovy XML ====== | ====== Groovy XML ====== | ||
+ | ===== XMLParser ===== | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | |||
+ | ==== Namespace ==== | ||
+ | [[http:// | ||
+ | Namespace가 존재할 경우 각 노드의 이름([[http:// | ||
+ | <code groovy> | ||
+ | def pom = new XmlParser().parse(new File(' | ||
+ | |||
+ | def ns = new groovy.xml.Namespace(' | ||
+ | def items = pom[ns.dependencies][ns.dependency][ns.scope].findAll { | ||
+ | it.text() == " | ||
+ | }.each { | ||
+ | println it.text() | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ===== XML Builder ===== | ||
+ | * '' | ||
+ | * '' | ||
+ | * [[https:// | ||
+ | // < | ||
+ | identity([: | ||
+ | groupId(catalog.groupId) | ||
+ | artifactId(catalog.artifactId) | ||
+ | version(catalog.version) | ||
+ | } | ||
+ | // 뒤에 ([:]) 로 호출하여 다른 메소드 시그너처로 바꿔치기함 | ||
+ | </ | ||
+ | * 혹은 '' | ||
+ | def builder = new MarkupBuilder(writer) | ||
+ | builder.message { | ||
+ | delegate.body(contentType: | ||
+ | text ' | ||
+ | } | ||
+ | } | ||
+ | // --> | ||
+ | < | ||
+ | <body contentType=' | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | ===== Pretty Print ===== | ||
+ | * [[http:// | ||
+ | <code groovy> | ||
+ | println XmlUtil.serialize(xmlDocument) // 문자열 혹은 SteramingMarkupBuilder 객체 등. | ||
+ | </ | ||
+ | |||
+ | ===== DOMBuilder ===== | ||
+ | * [[http:// | ||