@yaruslan

Golang Парсинг XML, как создать произвольные вложения?

<facts> 
 <cntr pos="63" len="5" >
     <town val="ТОКИО" />
     <cntr val="ЯПОНИЯ" />
     <cont val="АЗИЯ" />
 </cntr> 
 <PrsnVerb pos="353" len="16" >
     <Name_Surname val="КУДРИН"  />
     <Name_FirstName val="АЛЕКСАНДР" />
 </PrsnVerb>
 <cntr pos="2" len="6" >
     <town val="МОСКВА"/>
     <cntr val="РОССИЯ" />
     <cont val="ЕВРОПА" />
 </cntr>
 <PrsnVerb pos="1026" len="15" >
     <Name_Surname val="КУЗНЕЦОВ" />
     <Name_FirstName val="СЕРГЕЙ" />
 </PrsnVerb>
</facts>


Точно известно, что есть тег facts. Внутри есть другие теги с разными названиями и похожей структурой.
Помогите сформировать структуры для разбора такого xml.
  • Вопрос задан
  • 94 просмотра
Пригласить эксперта
Ответы на вопрос 1
@ghostiam
На Go писатель, серверов пинатель.
Как на счёт такой структуры:

type Cntr struct {
	Pos  string `xml:"pos,attr"`
	Len  string `xml:"len,attr"`
	Town struct {
		Val  string `xml:"val,attr"`
	} `xml:"town"`
	Cntr struct {
		Val  string `xml:"val,attr"`
	} `xml:"cntr"`
	Cont struct {
		Val  string `xml:"val,attr"`
	} `xml:"cont"`
}

type PrsnVerb struct {
	Pos         string `xml:"pos,attr"`
	Len         string `xml:"len,attr"`
	NameSurname struct {
		Val  string `xml:"val,attr"`
	} `xml:"Name_Surname"`
	NameFirstName struct {
		Val  string `xml:"val,attr"`
	} `xml:"Name_FirstName"`
}

type Facts struct {
	XMLName xml.Name `xml:"facts"`
	Cntr    []Cntr `xml:"cntr"`
	PrsnVerb []PrsnVerb `xml:"PrsnVerb"`
}
Ответ написан
Ваш ответ на вопрос

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

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