Немаршалинг атрибутов во вложенном xml golang - PullRequest
0 голосов
/ 15 декабря 2018

Я искал везде и не могу найти решение этой проблемы.

Я пытаюсь получить атрибут вложенного тега XML из Википедии, но до сих пор не смог получитьвложенный атрибут.Я специально пытаюсь получить pageid из тега page.

Вот пример xml:

<api batchcomplete="">
  <query>
    <pages>
      <page _idx="25039021" pageid="25039021" ns="0" title="Go (programming language)">
        <extract xml:space="preserve">
          stuff about golang
        </extract>
      </page>
    </pages>
  </query>
</api>

Вот структуры, которые я использую:

type Page struct {
    PageID string `xml:"pageid,attr"`
}

type Extract struct {
    Text string `xml:"query>pages>page>extract"`
    Page Page   `xml:"query>pages>page"`
}

, но все равно extract.page.pageid возвращается ни с чем.Что-то я пропускаю / делаю неправильно?

1 Ответ

0 голосов
/ 15 декабря 2018

Ваши структуры должны измениться на:

type Page struct {
    PageID string `xml:"pageid,attr"`
    Text   string `xml:"extract"`
}

type Extract struct {
    Page Page `xml:"query>pages>page"`
}

fmt.Println(extract.Page.PageID)
fmt.Println(extract.Page.Text)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...