ИМПОРТ XML возвращает пустые результаты - PullRequest
0 голосов
/ 30 января 2020

Я пытаюсь импортировать данные из https://www67.myfantasyleague.com/2019/export?TYPE=liveScoring&L=64741&APIKEY=&W=1&DETAILS=1 в Google Sheet для анализа. Специально я хочу вернуть каждый идентификатор франшизы и какие игроки являются дочерними.

Я попробовал две формулы в таблице Google и не могу понять, почему я не получаю никаких результатов обратно. Нет ошибок, только пустая ячейка.

=IMPORTXML("https://www67.myfantasyleague.com/2019/export?TYPE=liveScoring&L=64741&APIKEY=&W=1&DETAILS=1&JSON=0","/"

=IMPORTXML("https://www67.myfantasyleague.com/2019/export?TYPE=liveScoring&L=64741&APIKEY=&W=1&DETAILS=1","//franchise[@id='0006']//players")

Ссылка на Google Sheet

Что я здесь не так делаю? Я могу получить результаты, если использую IMPORTDATA, но мне нужна структура, предоставляемая XML, для правильного выполнения запросов. Любая помощь очень ценится!

Вот фрагмент XML, где я хочу, чтобы все идентификаторы игроков под каждым идентификатором франшизы (идентификаторы игроков могут быть под несколькими идентификаторами франшизы, к вашему сведению)

<liveScoring week="1">
<matchup>
<franchise id="0006" score="109.52" gameSecondsRemaining="0" playersYetToPlay="0" playersCurrentlyPlaying="0" isHome="0">
<players>
<player id="7393" score="25.30" gameSecondsRemaining="0" status="starter" updatedStats=""/>
<player id="14056" score="21.62" gameSecondsRemaining="0" status="starter" updatedStats=""/>
<player id="11672" score="0.00" gameSecondsRemaining="0" status="nonstarter" updatedStats=""/>
<player id="11644" score="14.56" gameSecondsRemaining="0" status="starter" updatedStats=""/>
<player id="12634" score="7.50" gameSecondsRemaining="0" status="starter" updatedStats=""/>
<player id="11671" score="4.80" gameSecondsRemaining="0" status="starter" updatedStats=""/>
<player id="10261" score="0.00" gameSecondsRemaining="0" status="nonstarter" updatedStats=""/>
<player id="9662" score="16.38" gameSecondsRemaining="0" status="starter" updatedStats=""/>
<player id="13722" score="14.40" gameSecondsRemaining="0" status="nonstarter" updatedStats=""/>
<player id="13590" score="9.40" gameSecondsRemaining="0" status="nonstarter" updatedStats=""/>
<player id="13633" score="10.40" gameSecondsRemaining="0" status="nonstarter" updatedStats=""/>
<player id="9988" score="0.00" gameSecondsRemaining="0" status="nonstarter" updatedStats=""/>
<player id="13678" score="0.00" gameSecondsRemaining="0" status="nonstarter" updatedStats=""/>
</players>
</franchise>
<franchise id="0005" score="163.78" gameSecondsRemaining="0" playersYetToPlay="0" playersCurrentlyPlaying="0" isHome="1">
<players>
<player id="12184" score="24.30" gameSecondsRemaining="0" status="nonstarter" updatedStats=""/>
<player id="11644" score="14.56" gameSecondsRemaining="0" status="starter" updatedStats=""/>
<player id="11227" score="12.70" gameSecondsRemaining="0" status="nonstarter" updatedStats=""/>
<player id="10261" score="0.00" gameSecondsRemaining="0" status="nonstarter" updatedStats=""/>
<player id="13636" score="5.50" gameSecondsRemaining="0" status="nonstarter" updatedStats=""/>
<player id="9427" score="0.00" gameSecondsRemaining="0" status="nonstarter" updatedStats=""/>
<player id="12154" score="0.00" gameSecondsRemaining="0" status="nonstarter" updatedStats=""/>
<player id="10273" score="5.36" gameSecondsRemaining="0" status="starter" updatedStats=""/>
<player id="13606" score="10.30" gameSecondsRemaining="0" status="nonstarter" updatedStats=""/>
<player id="13138" score="0.00" gameSecondsRemaining="0" status="nonstarter" updatedStats=""/>
<player id="13968" score="0.00" gameSecondsRemaining="0" status="nonstarter" updatedStats=""/>
<player id="9431" score="27.60" gameSecondsRemaining="0" status="nonstarter" updatedStats=""/>
<player id="12197" score="3.00" gameSecondsRemaining="0" status="nonstarter" updatedStats=""/>
<player id="12157" score="13.00" gameSecondsRemaining="0" status="starter" updatedStats=""/>
<player id="13130" score="42.90" gameSecondsRemaining="0" status="starter" updatedStats=""/>
<player id="12263" score="17.50" gameSecondsRemaining="0" status="nonstarter" updatedStats=""/>
<player id="11192" score="23.20" gameSecondsRemaining="0" status="starter" updatedStats=""/>
<player id="11660" score="4.10" gameSecondsRemaining="0" status="nonstarter" updatedStats=""/>
<player id="11677" score="3.70" gameSecondsRemaining="0" status="nonstarter" updatedStats=""/>
<player id="11257" score="7.00" gameSecondsRemaining="0" status="starter" updatedStats=""/>
</players>
</franchise>
</matchup>

1 Ответ

1 голос
/ 31 января 2020
  • Вы хотите получить «идентификатор игрока», используя «идентификатор франшизы».
  • Вы хотите добиться этого с помощью ИМПОРТА XML.
  • Вы хотите знать, что значения из "/" и "//franchise[@id='0006']//players" являются пустыми.

Если мое понимание верно, как насчет этого ответа? Пожалуйста, подумайте об этом как об одном из нескольких возможных ответов.

Точки модификации:

  • Когда я увидел данные XML, текст не задан. Таким образом, xpaths "/" и "//franchise[@id='0006']//players" возвращают пустое значение.
    • В вашем случае требуется извлечь значения идентификаторов, используя атрибут.

Измененные формулы:

Для следующих В формулах URL-адрес https://www67.myfantasyleague.com/2019/export?TYPE=liveScoring&L=64741&APIKEY=&W=1&DETAILS=1 помещается в ячейку A1.

Patten 1:

Когда вы хотите получить все идентификаторы, как насчет этой формулы?

=IMPORTXML(A1,"//@id")

Паттен 2:

Если вы хотите получить идентификаторы игрока с идентификатором франшизы «0006», как насчет этой формулы?

=IMPORTXML(A1,"//franchise[@id='0006']//player/@id")
Результат:

enter image description here

Ссылка:

Если я неправильно понял ваш вопрос и это был не тот результат, который вы хотите, я прошу прощения.

...