ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript は XML を取得して解析します

JavaScript は XML を取得して解析します

高洛峰
高洛峰オリジナル
2016-11-28 15:21:341086ブラウズ

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>

は次のメソッドを使用して解析できます:

<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>

xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue このコードを理解するにはどうすればよいですか?

xmlDoc - パーサーによって作成された XML ドキュメント。

getElementsByTagName("to")[0] - 最初の 05034471df6398a62d5708f78b78e0ac 要素。

childNodes[0] - 05034471df6398a62d5708f78b78e0ac の最初の子要素 ​​(テキスト ノード)。

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>

最初の 77a74ca8c1d5e9a5096e217b38b998c4 を読み取ります: xmlDoc.getElementsByTagName("to")[0].getElementsByTagName("t00")[0].childNodes[0].nodeValue。

2 番目の 77a74ca8c1d5e9a5096e217b38b998c4 を読み取ります: xmlDoc.getElementsByTagName("too")[0].childNodes[0].nodeValue。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。