문제

성배 행동에서 이것을 주어지면 :

def xml = {
    rss(version: '2.0') {
        ...
    }
}
render(contentType: 'application/rss+xml', xml)

나는 이것을 본다 :

<rss><channel><title></title><description></description><link></link><item></item></channel></rss>

XML을 예쁜 인쇄하는 쉬운 방법이 있습니까? 아마도 렌더 메소드에 내장 된 것이 있습니까?

도움이 되었습니까?

해결책

에 따르면 참조 문서, 다음 구성 옵션을 사용하여 예쁜 인쇄를 활성화 할 수 있습니다.

 grails.converters.default.pretty.print (Boolean)
 //Whether the default output of the Converters is pretty-printed ( default: false )

다른 팁

이것은 Groovy 코드 만 사용하여 XML을 예쁘게 인쇄하는 간단한 방법입니다.

def xml = "<rss><channel><title></title><description>" +
   "</description><link></link><item></item></channel></rss>"

def stringWriter = new StringWriter()
def node = new XmlParser().parseText(xml);
new XmlNodePrinter(new PrintWriter(stringWriter)).print(node)

println stringWriter.toString()

결과 :

<rss>
  <channel>
    <title/>
    <description/>
    <link/>
    <item/>
  </channel>
</rss>

MarkupBuilder를 사용하여 Groovy XML을 아주 인쇄하십시오

def writer = new StringWriter()
def xml = new MarkupBuilder (writer)

xml.rss(version: '2.0') {
        ...
    }
}

render(contentType: 'application/rss+xml', writer.toString())

xmlutil 사용 :

def xml = "<rss><channel><title></title><description>" +
   "</description><link></link><item></item></channel></rss>"

println XmlUtil.serialize(xml)
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top