因此,首先XML文件quran-uthmani.xml
的布局如下:
<quran>
<sura index="1" name="الفاتحة">
<aya index="1" text="بِسْمِ ٱللَّهِ ٱلرَّحْمَٰنِ ٱلرَّحِيمِ" />
<aya index="2" text="ٱلْحَمْدُ لِلَّهِ رَبِّ ٱلْعَٰلَمِينَ" />
<aya index="3" text="ٱلرَّحْمَٰنِ ٱلرَّحِيمِ" />
<aya index="4" text="مَٰلِكِ يَوْمِ ٱلدِّينِ" />
<aya index="5" text="إِيَّاكَ نَعْبُدُ وَإِيَّاكَ نَسْتَعِينُ" />
<aya index="6" text="ٱهْدِنَا ٱلصِّرَٰطَ ٱلْمُسْتَقِيمَ" />
<aya index="7" text="صِرَٰطَ ٱلَّذِينَ أَنْعَمْتَ عَلَيْهِمْ غَيْرِ ٱلْمَغْضُوبِ عَلَيْهِمْ وَلَا ٱلضَّآلِّينَ" />
</sura>
...(and basically, this style continues for the rest of the document)
</quran>
我的目标是使用loadDoc()
函数返回xml文件中的数据,如下所示:
function loadDoc(url) {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function () {
if (xhttp.readyState == 4 && xhttp.status == 200) {
return xhttp.responseText;
}
};
xhttp.open("GET", url, true);
xhttp.send();
}
然后让下面的函数使用s
和a
参数访问特定节点:
function surah(s, a) {
s = s - 1;
xmlDoc = loadDoc("assets/xml/quran-uthmani.xml");
x = xmlDoc.getElementsByTagName('sura') + verse(a)[0];
return x.item(s).children[a].attributes[1].value + verse(a);
}
然后在php文件中调用该函数以返回quran-uthmani.xml
文件中的选择节点并将其显示在网页上。
此;但是,抛出错误:
Uncaught TypeError: Cannot read property 'getElementsByTagName' of undefined
我非常需要帮助解决这个问题。