@ivos

Как создать xml с повторяющимся тегом?

Здравствуйте. Помогите пожалуйста с созданием xml. Мой код тут: https://play.golang.org/p/NkEPfpSIS9
Не получается создать повторяющиеся поля Value:
<Field Id="2">
    <Value>Two</Value>
    <Value>Three</Value>
    <Value>four</Value>
</Field>
  • Вопрос задан
  • 471 просмотр
Решения вопроса 1
https://play.golang.org/p/O8eNLkLA6s

package main

import (
	"encoding/xml"
	"fmt"
)

type Plans struct {
	XMLName xml.Name `xml:"Plans"`
	Xsd     string   `xml:"xmlns:xsd,attr"`
	Xsi     string   `xml:"xmlns:xsi,attr"`
	Fields  Fields
}

type Fields struct {
	Field []Field
}

type Field struct {
	Id int `xml:"Id,attr"`
	Values []string `xml:"Value"`
}


func main() {
	v := &Plans{Xsd: "http://www.w3.org/2001/XMLSchema", Xsi: "http://www.w3.org/2001/XMLSchema-instance"}

	v.Fields = Fields{
		[]Field{
			Field{Id: 1, Values: []string{ "One","two"}},
			Field{Id: 2, Values: []string{ "Two"}},
		},
	}

	out, err := xml.MarshalIndent(v, "", "   ")
	if err != nil {
		fmt.Println(err)
	}

	fmt.Println(xml.Header + string(out))
}


<?xml version="1.0" encoding="UTF-8"?>
<Plans xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <Fields>
      <Field Id="1">
         <Value>One</Value>
         <Value>two</Value>
      </Field>
      <Field Id="2">
         <Value>Two</Value>
      </Field>
   </Fields>
</Plans>
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@ivos Автор вопроса
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы