Как отфильтровать файл xml с помощью JavaScript

Приведенный ниже код берет файл XML и помещает его в таблицу HTML. Мне нужно, чтобы эта таблица содержала только учеников, чья оценка была A, но я не знаю, как это отфильтровать, поэтому в настоящее время она просто захватывает все имена, возраст и оценки учеников, независимо от того, какую оценку они получили. Может ли кто-нибудь показать мне, как добавлять в таблицу только студентов, получивших пятерку?

HTML-ФАЙЛ

<html>
<head>
<style>
table, th, td {
  border: 1px solid black;
  border-collapse:collapse;
}
th, td {
  padding: 5px;
}
</style>
</head>
<body>
    
<table id = "Advanced Web Development"></table>

<script>
function loadXMLDoc() {
  var xmlhttp = new XMLHttpRequest();
  xmlhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      myFunction(this);
    }
  };
  xmlhttp.open("GET", "Dom_file2.xml", true);
  xmlhttp.send();
}
function myFunction(xml) {
  var i;
  var xmlDoc = xml.responseXML;
  var table = "<tr><th>NAME</th><th>AGE</th><th>GRADE</th></tr>";
  var x = xmlDoc.getElementsByTagName("STUDENT");
  for (i = 0; i <x.length; i++) {
    table += "<tr><td>" +
    x[i].getElementsByTagName("NAME")[0].childNodes[0].nodeValue +
    "</td><td>" +
    x[i].getElementsByTagName("AGE")[0].childNodes[0].nodeValue +
    "</td><td>" +
    x[i].getElementsByTagName("GRADE")[0].childNodes[0].nodeValue +
    "</td></tr>";
  }
  document.getElementById("Advanced Web Development").innerHTML = table;
}
loadXMLDoc()
</script>

</body>
</html>

XML-ФАЙЛ

<CLASS ID = "Advanced Web Development">
    <STUDENT>
        <NAME>Tom</NAME>
        <AGE>19</AGE>
        <HEIGHT>1.3</HEIGHT>
        <SEX>M</SEX>
        <GRADE>B</GRADE>
    </STUDENT>
    <STUDENT>
        <NAME>Dick</NAME>
        <AGE>29</AGE>
        <HEIGHT>1.1</HEIGHT>
        <SEX>M</SEX>
        <GRADE>A</GRADE>
    </STUDENT>
    <STUDENT>
        <NAME>Harry</NAME>
        <AGE>39</AGE>
        <HEIGHT>1.5</HEIGHT>
        <SEX>M</SEX>
        <GRADE>C</GRADE>
    </STUDENT>
    <STUDENT>
        <NAME>Mary</NAME>
        <AGE>30</AGE>
        <HEIGHT>1.1</HEIGHT>
        <SEX>F</SEX>
        <GRADE>A</GRADE>
    </STUDENT>
    <STUDENT>
        <NAME>Tim</NAME>
        <AGE>23</AGE>
        <HEIGHT>1.5</HEIGHT>
        <SEX>M</SEX>
        <GRADE>A</GRADE>
    </STUDENT>
</CLASS>
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
121
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
if (x[i].getElementsByTagName("GRADE")[0].childNodes[0].nodeValue === 'A') {
   // add it to your output
   table += ...
}

Просто напишите оператор if, чтобы выполнять логику только в том случае, если оценка равна A.

Другие вопросы по теме