Я пытаюсь маршализация некоторых XML, которое структурировано как в следующем примере:Демаршаллизации XML с (XPath) условиями
<player>
<stat type="first_name">Somebody</stat>
<stat type="last_name">Something</stat>
<stat type="birthday">06-12-1987</stat>
</player>
Он мертв легко распаковать это в структуры, как
type Player struct {
Stats []Stat `xml:"stat"`
}
но я ищу, чтобы найти способ, чтобы распаковать его в структуру, которая больше походит на
type Player struct {
FirstName string `xml:"stat[@Type='first_name']"`
LastName string `xml:"stat[@Type='last_name']"`
Birthday Time `xml:"stat[@Type='birthday']"`
}
есть ли способ d o это со стандартным кодированием/xml пакетом? Если нет, можете ли вы дать мне подсказку о том, как можно разделить такую «проблему» на ходу? (в основном, лучшие практики в архитектуре программного обеспечения go для такой задачи).
спасибо!
Я не думаю, что это возможно с помощью кодирования/XML. Лучшая практика в Go - написать код. Многие люди находят код написания неэлегантным, но не сложно и не странно решать проблемы программирования с помощью кода. – Volker
'encoding/xml' не реализует xpath. Вы пытались найти что-нибудь такое? http://godoc.org/?q=xpath – JimB
tbh, no. Но я старался как можно больше придерживаться стандартной библиотеки, потому что я совершенно новый для Go и хочу, чтобы основывались до того, как я утонул в слоях абстракции. Спасибо, что указали мне на godoc.org tho! Даже не знал, что еще один – paukul