jQuery - Textarea中的XML - 获取元素?

时间:2013-09-30 11:44:30

标签: jquery html

某些元素的输出无效。

当我现在启动网站时,它应该从文本区域框中获取XML并仅列出一些元素。

这是脚本:

<script>
$(document).ready(function() {
    // Get text from textarea
    var myxml = $("#xml").val();
    $(myxml).find("resources").each(function() {
    var car = $(this).find("car").text();
    var car2 = $(this).find("car2").text();
    var out = car+"</br>"+car2;
    $("#output").append(out);
    });
});
</script>

这是身体:

<p id="output"></p>
<!--textarea with the xml structure-->
<textarea rows="4" cols="50" id="xml">
    <resources>
    <string name="car">Ford</string>
    <string name="car2">Audi</string>    
    </resources>
</textarea> 

我不知道,错误在哪里。

2 个答案:

答案 0 :(得分:1)

尝试此演示http://jsfiddle.net/devmgs/aV2x4/

$(document).ready(function() {

// Get text from textarea
//var myxml = $("#xml").val();
   var myxml = $.parseXML( $("#xml").val() );
$xml = $( myxml )
//$(myxml).find("resources").each(function() {

//var car = $(this).find("[name='car']").text();
//var car2 = $(this).find("[name='car2']").text();
//var out = car+"</br>"+car2;
var car =($xml.find( "string[name='car']" ).text());
var car2 =($xml.find( "string[name='car2']" ).text());
    var out = car+"</br>"+car2;
$("#output").append(out);

//});
});

您必须先将xml转换为jquery xml对象

答案 1 :(得分:0)

您正在尝试$(myxml).find("resources")字符串(在此阶段myxml是一个字符串)。看http://api.jquery.com/jQuery.parseXML/

<script type="text/javascript">
jQuery(document).ready(function()
{


    // Get text from textarea
    var myxml = jQuery("#xml").val();
    //console.log(myxml);

var xmlDoc = jQuery.parseXML( myxml );

    jQuery(xmlDoc).find("resources").each(function() {
    //console.log(this);
    var car = jQuery(this).find("car").text();
    var car2 = jQuery(this).find("car2").text();
    var out = car+"</br>"+car2;


    jQuery("#output").append(out);


    });

}); // ready
</script>