Я пытаюсь извлечь значения StateLongName и StateShortName из xml ниже.
Я знаю, что должен быть простой элегантный способ сделать это с помощью jQuery.
<NewDataSet>
<Table>
<StateLongName>Alabama</StateLongName>
<StateShortName>AL</StateShortName>
</Table>
<Table>
<StateLongName>Alaska</StateLongName>
<StateShortName>AK</StateShortName>
</Table>
...elments removed for brevity
</NewDataSet>
Вот что я пробовал.
Загрузите xml сверху в переменную Javascript с именем xml.
Попробуйте # 1
$(xml).find("TABLE").each(function()
{
var stateName = $(this).find("StateLongName").innerText;
var stateCode = $(this).find("StateShortName").innerText;
});
Попытка # 1 ничего не находит и никогда не идет внутрь, чтобы загрузить переменные stateName и stateCode.
Попробуйте # 2
$(xml).find("StateLongName").each(function()
{
var stateName = $(this).find("StateLongName").innerText;
var stateCode = $(this).find("StateShortName").innerText;
});
Попытка № 2 находит совпадения, однако stateName и stateCode остаются неопределенными.
Попробуйте # 3
$(xml).find("StateLongName").each(function()
{
var stateName = $($(xml).find('StateLongName').parent()[0].innerHTML)[1].data;
var stateCode = $($(xml).find('StateLongName').parent()[0].innerHTML)[5].data;
});
Попробуйте # 3 работает, но должен быть лучший способ. Пожалуйста, просветите меня.
Спасибо за ваше время!