如何从 XML 导入 Google 工作表中的所有元素节点

How to Import All Element Nodes in Google Sheets from XML

有没有办法将包含 headers 的完整 XML 架构下载到 Google Sheet 工作表中?

我希望将包括 headers 在内的所有元素从在线 XML 页面导入到 Google Sheets.

XML 页面如下所示:

<staff>
    <admin>
        <first-name>Patrice</first-name>
        <family-name>Withers</family-name>
        <year-started>2006</year-started>
        <starting-salary>30,500</starting-salary>
        <current-salary>34,000</current-salary>
    </admin>
    <admin>
        <first-name>Shelly</first-name>
        <family-name>Lancer</family-name>
        <year-started>2015</year-started>
        <starting-salary>32,500</starting-salary>
        <current-salary>33,500</current-salary>
    </admin>
</staff>
<students>
    <full-time>
        <first-name>Henry</first-name>
        <family-name>Nunes</family-name>
        <status>Freshman</status>
        <current-tuition>2,400</current-tuition>
        <last-year-tuition>2,200</last-year-tuition>
    </full-time>
    <part-time>
        <first-name>Leslie</first-name>
        <family-name>Franks</family-name>
        <status>Senior</status>
        <current-tuition>2,300</current-tuition>
        <last-year-tuition>2,100</last-year-tuition>
    </part-time>
</students>

我正在尝试让 Google Sheet 下载完整的 XML 页面,包括元素 headers,并显示它,最好像上面一样以缩进形式显示列,或在单个列中看起来像这样:

<staff>
<admin>
<first-name>Patrice</first-name>
<family-name>Withers</family-name>
<year-started>2006</year-started>
<starting-salary>30,500</starting-salary>
<current-salary>34,000</current-salary>
</admin>
<admin>
<first-name>Shelly</first-name>
<family-name>Lancer</family-name>
<year-started>2015</year-started>
<starting-salary>32,500</starting-salary>
<current-salary>33,500</current-salary>
</admin>
</staff>
<students>
<full-time>
<first-name>Henry</first-name>
<family-name>Nunes</family-name>
<status>Freshman</status>
<current-tuition>2,400</current-tuition>
<last-year-tuition>2,200</last-year-tuition>
</full-time>
<part-time>
<first-name>Leslie</first-name>
<family-name>Franks</family-name>
<status>Senior</status>
<current-tuition>2,300</current-tuition>
<last-year-tuition>2,100</last-year-tuition>
</students>

IMPORTDATA,因为另一个用户被建议 ,失败了,因为一些 XML 数据有逗号,类似于上面的示例输出。

如果您的 url 可以从身份验证凭据中被 抓取,您可以尝试:

=ARRAYFORMULA(TRIM(TRANSPOSE(QUERY(TRANSPOSE(
 ARRAY_CONSTRAIN(IMPORTDATA("url_here"), 5000, 20)),,999^99))))

你也可以试试:

=IMPORTXML("url_here", "//*")