Задание
Задание 1
Составьте несколько XML-документов, в которых будет храниться информация о студентах. При помощи XML DOM выведите по 1-му любому из студентов.
Решение
Html
<input type="file" value="Выбрать файл" id="fileChoose">
<input type="button" value="Показать информацию о студенте" id="print">
<div id="output"></div>
XML-1
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="lw5.xslt"?>
<students>
    <student>
        <last-name>Добриян</last-name>
        <name>Александр</name>
        <patronymic>Витальевич</patronymic>
        <average-mark>7</average-mark>
        <birth>2002</birth>
    </student>
</students>
XML-2
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="lw5.xslt"?>
<students>
    <student>
        <last-name>Добриян</last-name>
        <name>Александр</name>
        <patronymic>Витальевич</patronymic>
        <average-mark>6</average-mark>
        <birth>2003</birth>
    </student>
</students>
Java Script
let xml

let output = document.getElementById("output")
let fileChoose = document.getElementById("fileChoose")
let printButton = document.getElementById("print")
fileChoose.addEventListener("change", readFile)
printButton.addEventListener("click", print)
                                
function readFile() {
    let files = fileChoose.files
    let reader = new FileReader()
    let file = files[0]
    reader.readAsText(file)
    reader.onload = function (e) {
        xml = e.target.result
    }
}
                                
function print() {
    if (window.DOMParser) {
        parser = new DOMParser()
        xmlDoc = parser.parseFromString(xml, "text/xml")
    }
    else {
        xmlDoc = new ActiveXObject("Microsoft.XMLDOM")
        xmlDoc.async = false
        xmlDoc.loadXML(xml)
    }

    let lastName = xmlDoc.getElementsByTagName("last-name")
    let name = xmlDoc.getElementsByTagName("name")
    let patronymic = xmlDoc.getElementsByTagName("patronymic")
    let averageMark = xmlDoc.getElementsByTagName("average-mark")
    let birth = xmlDoc.getElementsByTagName("birth")
    let newElement = document.createElement("div")
                                
    newElement.innerHTML = ( "Фамилия: " + lastName[0].innerHTML
        + "<br /> Имя : " + name[0].innerHTML 
        + "<br /> Отчество : " + patronymic[0].innerHTML
        + "<br /> Средний балл: " + averageMark[0].innerHTML 
        + "<br /> Год рождения : " + birth[0].innerHTML")
    output.appendChild(newElement)
}
Выполнить код