JavaScript获取并解析XML

高洛峰
Lepaskan: 2016-11-28 15:21:34
asal
1123 orang telah melayarinya

XML在Web开发中使用很广泛,通常作为数据传递的载体。一般将数据传递给前端的时候,需要用JavaScript解析后才能使用。所以,用JavaScript解析XML是使用得非常普遍的。

有以下一个XML文件:

<?xml version="1.0" encoding="ISO-8859-1" ?> 
<note>
    <to>duncan</to> 
    <from>John</from> 
    <heading>Reminder</heading> 
    <body>Don&#39;t forget the meeting!</body> 
</note>
Salin selepas log masuk

可以使用下面的方法解析:

<html>
<head>
<script type="text/javascript">
function parseXML()
{
    try //Internet Explorer
    {
        xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
    }
    catch(e)
    {
        try //Firefox, Mozilla, Opera, etc.
        {
            xmlDoc=document.implementation.createDocument("","",null);
        }
    catch(e)
    {
        alert(e.message);
        return;
    }
}
xmlDoc.async=false;
xmlDoc.load("note.xml");
document.getElementById("to").innerHTML=
xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue;
document.getElementById("from").innerHTML=
xmlDoc.getElementsByTagName("from")[0].childNodes[0].nodeValue;
document.getElementById("message").innerHTML=
xmlDoc.getElementsByTagName("body")[0].childNodes[0].nodeValue;
</script>
</head>
<body onload="parseXML()">
<h1>www.nowamagic.net</h1>
<p><b>To:</b> <span id="to"></span><br />
<b>From:</b> <span id="from"></span><br />
<b>Message:</b> <span id="message"></span>
</p>
</body>
</html>
Salin selepas log masuk

xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue 这段代码如何理解?

xmlDoc -由解析器创建的 XML 文档。

getElementsByTagName("to")[0] - 第一个 元素。

childNodes[0] - 元素的第一个子元素(文本节点)。

nodeValue - 节点的值(文本本身)。

如果xml文件为:

<?xml version="1.0" encoding="ISO-8859-1" ?> 
<note>
    <to>asdfsd
        <too>duncan1</too>    
    </to> 
    <too>duncan2</too>
    <from>John</from> 
    <heading>Reminder</heading> 
    <body>Don&#39;t forget the meeting!</body> 
</note>
Salin selepas log masuk

读取第一个:xmlDoc.getElementsByTagName("to")[0].getElementsByTagName("t00")[0].childNodes[0].nodeValue。

读取第二个:xmlDoc.getElementsByTagName("too")[0].childNodes[0].nodeValue。


Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan