Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

encoding/xml: Marshal doesn't understand "parent>child" struct tags #2119

mark-summerfield opened this issue Jul 30, 2011 · 4 comments


Copy link

@mark-summerfield mark-summerfield commented Jul 30, 2011

Build & run the two attached tiny examples and you'll see the problem. (The first
example is based on the Email/Results example in the xml package's documentation.)

I expect xml.Unmarshal to correctly read a data structure that was correctly written
with xml.Marshal.

Which compiler are you using (5g, 6g, 8g, gccgo)?


Which operating system are you using?

Linux 64-bit (debian & Ubuntu)

Which revision are you using?  (hg identify)

I tried with 2 same results for both:
3c21f37b25a3+ weekly.2011-07-19
bb28251f6da4 weekly/weekly.2011-07-29

See also


  1. xmltest1.go (1232 bytes)
  2. xmltest2.go (1754 bytes)

This comment has been minimized.

Copy link

@adg adg commented Jul 30, 2011

Comment 1:

The problem is that the data isn't correctly written by xml.Marshal in the first place.
It seems the "parent>child" form in the struct tag doesn't work with xml.Marshal. The
program xmltest1.go generates invalid xml for this data structure:
 Result struct {
    // other fields omitted
    Groups  []string `xml:"group>value"`
When I manually fix up the invalid tags here, xml.Unmarshal correctly loads the contents
of the value elements into the Groups slice.

Status changed to Accepted.


This comment has been minimized.

Copy link

@mark-summerfield mark-summerfield commented Aug 2, 2011

Comment 2:

The summary name change is wrong. If you try xmltest2.go you will see that it does not
use the "parent>child" syntax -- and yet it still fails to work correctly.
So perhaps this should be split into two separate bugs?

This comment has been minimized.

Copy link

@zombiezen zombiezen commented Aug 21, 2011

Comment 3:

I ran into this problem myself, and I wrote a quick patch for it.  It works for my needs.

This comment has been minimized.

Copy link

@niemeyer niemeyer commented Aug 26, 2011

Comment 4:

This issue was closed by revision 4541fa9.

Status changed to Fixed.

@mikioh mikioh changed the title xml.Marshal doesn't understand "parent>child" struct tags encoding/xml: Marshal doesn't understand "parent>child" struct tags Jan 9, 2015
@golang golang locked and limited conversation to collaborators Jun 24, 2016
This issue was closed.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
5 participants
You can’t perform that action at this time.