You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.

55 lines
1.7 KiB
JavaScript

class Model {
constructor() {}
parseXML(xml) {
let parser = new DOMParser();
let xmlDoc = parser.parseFromString(xml, "text/xml");
this.comments = [];
this.popups = [];
let comment = xmlDoc.getElementsByTagName("comment");
for (let i = 0; i < comment.length; i++) {
let start = comment[i].getElementsByTagName("start")[0].innerHTML;
let end = comment[i].getElementsByTagName("end")[0].innerHTML;
let title = comment[i].getElementsByTagName("title")[0].innerHTML;
let text = comment[i].getElementsByTagName("text");
this.comments.push(new Comment(start, end, title, text));
}
let popup = xmlDoc.getElementsByTagName("popup");
for (let i = 0; i < popup.length; i++) {
let start = popup[i].getElementsByTagName("start")[0].innerHTML;
let end = popup[i].getElementsByTagName("end")[0].innerHTML;
let text = popup[i].getElementsByTagName("text")[0].innerHTML;
this.popups.push(new Popup(start, end, text));
}
}
getVideoFileName(xml) {
let parser = new DOMParser();
let xmlDoc = parser.parseFromString(xml, "text/xml");
let videoTag = xmlDoc.firstChild.getAttribute("src");
return videoTag;
}
getCommentsObjects() {}
async loadXml(v) {
var Connect = new XMLHttpRequest();
// Define which file to open and
// send the request.
Connect.open("GET", "./videos/" + v + ".xml", false);
Connect.setRequestHeader("Content-Type", "text/xml");
Connect.send(null);
// Place the response in an XML document.
var TheDocument = Connect.responseText;
// Place the root node in an element.
// var Customers = TheDocument.childNodes[0];
return TheDocument;
}
}