如何解决使用AJAX从Google Sheet XML文件提取数据
我在处理Google表格中的XML文件方面相对较新,并且有一个从Google表格中生成的XML文件,我想从中获取数据并将其显示在表格中。 Google表格生成的XML文件显示每个条目,如下所示:
SELECT * FROM `table`
WHERE MATCH (`column1`,`column2`,`column3`)
AGAINST ('whateveryouwanttosearch')
我的html文件如下所示:
<entry>
<id>https://spreadsheets.google.com/feeds/list<MyID>/2/public/values/cokwr</id>
<updated>2020-09-08T10:27:43.003Z</updated>
<category scheme='http://schemas.google.com/spreadsheets/2006' term='http://schemas.google.com/spreadsheets/2006#list'/>
<title type='text'>1</title>
<content type='text'>name: Joe Bloggs,totalpoints: 0</content>
<link rel='self' type='application/atom+xml' href='https://spreadsheets.google.com/feeds/list/<MyID>/2/public/values/cokwr'/>
<gsx:pos>1</gsx:pos>
<gsx:name>Joe Bloggs</gsx:name>
<gsx:totalpoints>0</gsx:totalpoints>
</entry>
是否可以检索包装在gsx:pos,gsx:name和gsx:totalpoints标记中的数据?使用这些标记时,我的代码似乎不起作用。任何帮助都会很棒。
解决方法
解决方案
您必须将XML解析为DOM才能访问这样的标记名。
以下是您没有JQuery的情况的示例:
// inside the success callback
const parser = new DOMParser();
let xmlDom = parser.parseFromString(xml,'text/xml');
let Pos = xmlDom.getElementsByTagName('gsx:pos')[0].textContent;
let Name = xmlDom.getElementsByTagName('gsx:name')[0].textContent;
let Points = xmlDom.getElementsByTagName('gsx:totalPoints')[0].textContent;
$('<tr></tr>').html('<th>' +Pos+ '</th><td>$' +Name+ '</td><td>$' +Points+ '</td>').appendTo('#league_data');
// ...
参考
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。