I want to parse an xml file given as a php variable with the use of jquery: jQuery.parseXML()
This is my file content:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
<?php
$xml="<rss version='2.0'><channel><title>RSS Title</title></channel></rss>";
?>
<p id="someElement"></p>
<p id="anotherElement"></p>
<script>
var xml = "<?php echo $xml; ?>",
xmlDoc = $.parseXML( xml ),
$xml = $( xmlDoc ),
$title = $xml.find( "title" );
$( "#someElement" ).append( $title.text() );
$title.text( "XML Title" );
$( "#anotherElement" ).append( $title.text() );
</script>
</body>
</html>
but what if my xml variable is like this:
$xml ='<?xml version="1.0" encoding="UTF-8" ?>
<data request-id="ID">
<data name="Name1"
d1="0"
d2="0231234"
d3="32584">
<data name="Name2"
d4="231234"
d5="2012-06-06 18:18:10.000607"
d6="3b048653-aaa9-485b-b0dd-d16e068230e9" />
</data>
</data>';
how to display for example d1 or d4?
Look with the following jQuery selector '[attr="somevalue"]'
and the method find()
in the correct node, then use the method attr()
:
$(document).ready(function(){ var xml ='<?xml version="1.0" encoding="UTF-8" ?><data request-id="ID">' + '<data name="Name1" d1="0" d2="0231234" d3="32584">' + '<data name="Name2" d4="231234" d5="2012-06-06 18:18:10.000607" d6="3b048653-aaa9-485b-b0dd-d16e068230e9" />' + '</data>' + '</data>' + '</data>', d1 = $(xml).find('data[name="Name1"]').attr('d1'), d4 = $(xml).find('data[name="Name2"]').attr('d4'); document.write('d1: ' + d1); document.write('<br>'); document.write('d4: ' + d4); window.console.dirxml($(xml)); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.