当前位置: 首页 > 面试题库 >

转到节点N的XML解组属性X

司徒墨竹
2023-03-14
问题内容

我想将特定节点N的属性X的值解组到struct字段。像这样:

var data = `<A id="A_ID">
<B id="B_ID">Something</B>
</A>
`

type A struct {
    Id   string `xml:"id,attr"` // A_ID
    Name string `xml:"B.id,attr"` // B_ID
}

http://play.golang.org/p/U6daYJWVUX

据我能够检查,Go不支持此功能。我是正确的,还是我在这里错过了什么?


问题答案:

在您的问题中,您没有提及B。我猜您需要将其属性编组为A.Name?如果是这样-您可以将A结构更改为以下形式:

type A struct {
    Id string `xml:"id,attr"` // A_ID
    Name  struct {
        Id string `xml:"id,attr"` // B_ID
    } `xml:"B"`
}

甚至更好-定义单独的B结构:

type A struct {
    Id string `xml:"id,attr"` // A_ID
    Name  B `xml:"B"`
}

type B struct {
    Id string `xml:"id,attr"` // B_ID
}


 类似资料:
  • 问题内容: 我正在尝试读取xml文件,例如: 这是我到目前为止的代码: 这是我尝试编写此代码的尝试,怎么说都不成功,这就是我开始赏金的原因。这是http://pastebin.com/huKP4KED。 赏金更新: 我确实真的尝试了好几天,但现在没想到会这么难,我会接受有用的链接/书籍/教程,但更喜欢代码,因为我昨天需要这样做。 这是我需要的: 关于上面的xml: 我需要获取标题ID的值 temp

  • 嗨,下面是我的XML文件。 上面的XML文件包含父根作为打印,子节点作为一部分。我想在C#中读取子节点及其属性。若XML文件包含唯一的节点名,那个么我可以读取它们。但如果所有子节点都包含相同的节点名,那么我们如何读取它们呢。

  • 如何能够基于另一个同级节点的属性选择节点属性?我想要实现的是从所有节点中提取链接(href值),这些节点后跟具有属性class=“body table news loss”的节点跨度,即选择器应该返回https://finance.yahoo.com/news/inspiremd-announces-planned-recapitalization-120000752.html在下面的示例中。我试

  • 问题内容: 有没有一种方法可以解组具有动态属性的XML标签(我不知道每次都会获得哪些属性)。 也许尚不支持。请参阅问题3633:encoding / xml:支持收集所有属性 就像是 : 问题答案: 您需要实现自己的XMLUnmarshaler 输出 http://play.golang.org/p/9ZrpIT32o_

  • 我有一个XML: 我想向根元素:/doc添加一个属性(名称空间),以便输出如下所示: 我尝试了三种xslt(跳过了默认的“复制所有”部分以减少问题的长度)。 xslt1:见下文,问题在于将空名称空间xmlns=”“添加到/doc的所有子节点(即:/doc/tag1和/doc/tag2) Xslt2:见下文,问题是“ns”被添加到根节点:和 xslt3:请参见下文,问题是报告了错误:未定义名称空间前

  • 我需要添加一个maven配置文件,当激活时,将一些规则插入maven-shade-plugin重定位部分,因此我在配置文件中添加了一个属性: 并使用${cdh.hive.removation}将其注入到插件配置中: