Не удается получить внутренний HTML-код элемента XML, используя его атрибут

У меня большой XML-файл с таким содержимым:

<satellites>
<sat name="NSS 9/Yamal 300K (177.0W)" flags="0" position="-1770">
    <transponder frequency="3792000" symbol_rate="2048000" polarization="1" fec_inner="2" system="1" modulation="1"/>
    <transponder frequency="3987000" symbol_rate="8950000" polarization="1" fec_inner="2" system="0" modulation="1"/>
    <transponder frequency="3999000" symbol_rate="2960000" polarization="1" fec_inner="3" system="0" modulation="1"/>
    <transponder frequency="4055000" symbol_rate="11000000" polarization="0" fec_inner="1" system="1" modulation="1"/>
    <transponder frequency="4099000" symbol_rate="30000000" polarization="1" fec_inner="7" system="1" modulation="1"/>
    <transponder frequency="4163000" symbol_rate="2644000" polarization="1" fec_inner="3" system="1" modulation="1"/>
</sat>
<sat name="AMC 8/18 (139.0W)" flags="0" position="-1390">
    <transponder frequency="4056000" symbol_rate="13250000" polarization="0" fec_inner="3" system="0" modulation="1"/>
</sat>
<sat name="AMC 10 (135.0W)" flags="0" position="-1350">
    <transponder frequency="3780000" symbol_rate="30000000" polarization="0" fec_inner="3" system="1" modulation="2"/>
    <transponder frequency="3820000" symbol_rate="29270000" polarization="0" fec_inner="3" system="0" modulation="1"/>
    <transponder frequency="4080000" symbol_rate="29270000" polarization="1" fec_inner="3" system="0" modulation="1"/>
    <transponder frequency="4136000" symbol_rate="19510000" polarization="0" fec_inner="3" system="0" modulation="1"/>
    <transponder frequency="4149000" symbol_rate="9760000" polarization="0" fec_inner="3" system="0" modulation="1"/>
    <transponder frequency="4180000" symbol_rate="29270000" polarization="0" fec_inner="5" system="0" modulation="1"/>
</sat>
</satellites>

Я позволил пользователю выбрать спутник, затем я должен получить доступные частоты для выбранного. Первую часть я сделал, но теперь я не могу получить элемент sat по его name для отображения списка частот транспондера и другой информации.

Это мой код: var satellitesData = fileData.find('sat[name='+satName+']');

Также попробовал это: var satellitesData = $(fileData).find('sat[name='+satName+']');

Это: var satellitesData = fileData.find('sat[name='+satName+'] > transponder');

И это: var satellitesData = fileData.find('sat[name='+satName+']').innerHTML;

Ничего не работает. Что я делаю не так?

4 голоса | спросил Vaxo Basilidze 19 J0000006Europe/Moscow 2018, 10:31:39

1 ответ


0
Поскольку искомый атрибут ---- +: = 0 =: + ---- часто содержит пробелы, вам необходимо заключить искомый атрибут в кавычки, иначе синтаксис будет неверным.Используйте ---- +: = 1 =: + ---- вместо ---- +: = 2 =: + ---- со стандартным Javascript ( ---- +: = 3 =: + -- для jQuery или для простых массивов Javascript, но не для Javascript HTMLElements).Вы можете рассмотреть шаблонный литерал:
ответил CertainPerformance 19 J0000006Europe/Moscow 2018, 10:35:56

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132