Home > Article > Web Front-end > JavaScript gets and parses XML
XML is widely used in web development, usually as a carrier for data transmission. Generally, when data is passed to the front end, it needs to be parsed with JavaScript before it can be used. Therefore, parsing XML with JavaScript is very common.
There is the following XML file:
<?xml version="1.0" encoding="ISO-8859-1" ?> <note> <to>duncan</to> <from>John</from> <heading>Reminder</heading> <body>Don't forget the meeting!</body> </note>
can be parsed using the following method:
<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 How to understand this code?
xmlDoc - XML document created by a parser.
getElementsByTagName("to")[0] - the first 05034471df6398a62d5708f78b78e0ac element.
childNodes[0] - The first child element (text node) of the 05034471df6398a62d5708f78b78e0ac element.
nodeValue - the value of the node (the text itself).
If the xml file is:
<?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't forget the meeting!</body> </note>
Read the first 77a74ca8c1d5e9a5096e217b38b998c4: xmlDoc.getElementsByTagName("to")[0].getElementsByTagName("t00")[0].childNodes[0].nodeValue.
Read the second 77a74ca8c1d5e9a5096e217b38b998c4: xmlDoc.getElementsByTagName("too")[0].childNodes[0].nodeValue.