Uploaded image for project: 'Groovy'
  1. Groovy
  2. GROOVY-1178

Add a Utility Method for Converting GPathResults to XML

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.0-JSR-4
    • 1.7.2, 1.8-beta-1
    • XML Processing
    • None

    Description

      At the moment to output a GPathResult as XML you have to use the below syntax in StreamingMarkupBuilder:

      System.out << new StreamingMarkupBuilder().bind

      {xml -> xml.mkp.yield myNode}

      It is not clear what this is trying to achieve and to compound the problem the syntax differs between groovy scripts and classes. It would be better if there was a utility method to do this with a signature whose purpose is clear.

      Attachments

        Activity

          davsclaus Claus Ibsen added a comment -

          Great idea

          davsclaus Claus Ibsen added a comment - Great idea
          paulk Paul King added a comment -

          There are now some additional utility methods which may help. Firstly StreamingMarkupBuilder has a bindNode method.
          For the example above you can go:

          println new StreamingMarkupBuilder().bindNode(myNode).toString()
          

          The builder.bindNode(node) method is just a shorthand for:

          builder.bind{ out << node }
          

          Also, XmlUtil now has serialize methods for {{GPathResult}}s. So you can pretty print the nodes as well.

          Do these methods satisfy the requirement of this issue?

          paulk Paul King added a comment - There are now some additional utility methods which may help. Firstly StreamingMarkupBuilder has a bindNode method. For the example above you can go: println new StreamingMarkupBuilder().bindNode(myNode).toString() The builder.bindNode(node) method is just a shorthand for: builder.bind{ out << node } Also, XmlUtil now has serialize methods for {{GPathResult}}s. So you can pretty print the nodes as well. Do these methods satisfy the requirement of this issue?
          paulk Paul King added a comment -

          No further feedback. Assuming provided new methods satisfy this requirement.

          paulk Paul King added a comment - No further feedback. Assuming provided new methods satisfy this requirement.

          Lovely. Thanks a lot.

          biehl Anders Norgaard added a comment - Lovely. Thanks a lot.

          People

            paulk Paul King
            graemerocher Graeme Rocher
            Votes:
            4 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: