【发布时间】:2015-09-21 22:32:53
【问题描述】:
这里是 XML 结构:
<root xmlns:test="http://test.com/testns">
<test:sub>
<title>this is title</title>
</test:sub>
</root>
它被下面定义的结构解组:
type Root struct {
XMLName xml.Name `xml:"root"`
Sub *Sub
}
type Sub struct {
XMLName xml.Name `xml:"http://test.com/testns sub"`
Title string `xml:"title"`
}
这是被编组回来的:
<root>
<sub xmlns="http://test.com/testns">
<title>this is title</title>
</sub>
</root>
在编组之后删除根命名空间前缀定义,并且子元素使用 url 命名空间而不是前缀。这是code
有什么方法可以使 marshal/unmarshal 不会改变 xml 结构?谢谢!
【问题讨论】:
-
看起来xml命名空间现在不能正常工作github.com/golang/go/issues/9519github.com/golang/go/issues/11841
-
如果是这样,那么这就是一个答案,并且可能最好将其制成一个答案,以便可以接受。
标签: go xml-parsing