我正在尝试获取 legalName
和 phyCity
的值
从此链接:check
我想使用 JavaScript,如下所示:
$('.DotNum').click(function (e) {
var dotNum = $('#DotNum').val().replace(/\-|\s/g, '');
var url = "https://mobile.fmcsa.dot.gov/qc/services/carriers/"+ dotNum +".xml?webKey=dadd9237da5c0390c9511ef871258e1703abdb36";
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == XMLHttpRequest.DONE) {
alert(xhr.responseText);
var xmlDoc = this.responseXML;
var legalName = xmlDoc.nodeValue("response").ChildNode("content").ChildNode("carrier").attribute("legalName");
$('#CompName').val(legalName);
$('#CompCity').val(phyCity);
$('#CompState').val(state);
$('#CompAddress').val(address);
}
}
xhr.open('GET', url, true);
xhr.send(null);
});
我不知道如何获取legalName
的值
所以我尝试了很多不同的事情......
我该怎么做var legalName = xmlDoc.brabrabar
最佳答案
您可以使用.getElementsByTagName()
来获取您要查找的元素:
var carrier = xmlDoc.getElementsByTagName('carrier')[0];
var legalName = carrier.getAttribute('legalName');
var phyCity = carrier.getAttribute('phyCity');
var state = carrier.getAttribute('phyState');
工作示例:
function queryDot(dotNum) {
var url = "https://mobile.fmcsa.dot.gov/qc/services/carriers/" + dotNum + ".xml?webKey=dadd9237da5c0390c9511ef871258e1703abdb36";
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == XMLHttpRequest.DONE) {
var xmlDoc = this.responseXML;
var carrier = xmlDoc.getElementsByTagName('carrier')[0];
var legalName = carrier.getAttribute('legalName');
var phyCity = carrier.getAttribute('phyCity');
var state = carrier.getAttribute('phyState');
console.log(legalName, phyCity, state);
}
}
xhr.open('GET', url, true);
xhr.send(null);
}
queryDot(44110);
由于您似乎正在使用 jQuery,因此您也可以通过 jQuery 方式执行此操作:
function queryDot(dotNum) {
$.get("https://mobile.fmcsa.dot.gov/qc/services/carriers/" + dotNum + ".xml?webKey=dadd9237da5c0390c9511ef871258e1703abdb36")
.then(function(result) {
var carrier = $(result).find('carrier');
var legalName = carrier.attr('legalName');
var phyCity = carrier.attr('phyCity');
var state = carrier.attr('phyState');
console.log(legalName, phyCity, state);
});
}
queryDot(44110);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
关于javascript - 如何从 XML 树中获取值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42865272/