假设我有一个这样的 XML 文件:
<?xml version="1.0" encoding="ISO-8859-1"?>
<MIDIFile>
<Event>
<Absolute>0</Absolute>
<NoteOn Channel="1" Note="40" Velocity="64"/>
</Event>
<Event>
<Absolute>236</Absolute>
<NoteOff Channel="1" Note="40" Velocity="0"/>
</Event>
</MIDIFile>
感谢一些很棒的教程,我现在知道如何在我的 javascript 中获取这些值。
例如,我可以遍历所有“事件”标签并获得“绝对”值,如下所示:
xmlhttp=new XMLHttpRequest();
xmlhttp.open("GET","test.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
// make an array with all the events from the xml file
var events = xmlDoc.getElementsByTagName("Event")
for (var i = 0; i<events.length; i++)
console.log(events[i].getElementsByTagName("Absolute")[0].childNodes[0].nodeValue)
这将返回
0
236
现在,我怎么能访问“NoteOn”属性并获取它的值?我想遍历 XML 中的所有事件,看看它们是否包含 NoteOn 或 NoteOff 并加载一个包含所有音符、它们的持续时间、速度和通道的数组。
请帮我!getElementsByTagName("NoteOn")
只是不起作用......如果它可能有帮助,这里有一些截图,如果我会发生什么console.log(xmlDoc)
提前非常感谢!
编辑以响应答案。当我尝试这样做时:
var noteon = xmlDoc.getElementsByTagName('noteon');
console.log(noteon)
结果就是这个
[]
重新编辑:如果我写“NoteOn”而不是“noteon”,它会起作用!