使用JQuery通过javascript读取XML

使用JQuery通过javascript读取XML,javascript,jquery,xml,Javascript,Jquery,Xml,我有一个JavaScript函数代码,希望在其中发出警报 function msgalert(x,y) { tempstr = x.value if(tempstr.length>y) { alert(c_AcknowledgementText); x.value = tempstr.substring(0,y); } } 现在我有一个xml,格式如下: <?xml version="1.0" encoding="utf-8" ?> <root>

我有一个JavaScript函数代码,希望在其中发出警报

function msgalert(x,y)
{
 tempstr = x.value
if(tempstr.length>y)
 {
  alert(c_AcknowledgementText);
  x.value = tempstr.substring(0,y);
  }
}
现在我有一个xml,格式如下:

<?xml version="1.0" encoding="utf-8" ?>
<root>
    <key name="c_ContactUsHeading">Contact Us</key>
    <key name="c_AcknowledgementText">Comments can not be more than 250 characters.</key>
</root>

联系我们
注释不能超过250个字符。
我需要JavaScript代码,以便可以从上面的xml键名“c_AcknowledgementText”读取上述警报中显示的消息

我正在尝试下面的代码,但无法解决问题,请您看看

    <script language="javascript" type="text/javascript">
function msgalert(x,y)
{
tempstr = x.value
    if(tempstr.length>y)
     {
            $(document).ready(function(){
                $.ajax({
                    type: "GET",
                    url: "../includes/ResourceData.xml",
                    dataType: "xml",
                    success: function(xml) {                    
                        $(xml).find('key').each(function(){
                            var title = $(this).find('name').text();                        
                            );
                        });                 
                    }
                });
            });
}
}
        </script>

函数msgalert(x,y)
{
tempstr=x.value
如果(临时长度>y)
{
$(文档).ready(函数(){
$.ajax({
键入:“获取”,
url:“../includes/ResourceData.xml”,
数据类型:“xml”,
成功:函数(xml){
$(xml).find('key').each(function(){
var title=$(this.find('name').text();
);
});                 
}
});
});
}
}

有些地方我需要修改上述函数,以便使用它通过XML提供警报值。

我无法真正理解您试图做什么,但此代码是错误的:

var title = $(this).find('name').text();
此时,
这个
就是您正在循环的当前
元素。要获取此元素的
name
属性的值,需要执行以下操作:

var title = $(this).attr('name');
然后要获取此元素的内容,您可以执行以下操作:

var title = $(this).text();
针对您的评论,我认为您希望:

var title = $(this).find('key[name=c_AcknowledgementText]').text();
alert(title);

我真的不明白你想做什么,但这段代码是错误的:

var title = $(this).find('name').text();
此时,
这个
就是您正在循环的当前
元素。要获取此元素的
name
属性的值,需要执行以下操作:

var title = $(this).attr('name');
然后要获取此元素的内容,您可以执行以下操作:

var title = $(this).text();
针对您的评论,我认为您希望:

var title = $(this).find('key[name=c_AcknowledgementText]').text();
alert(title);

所以有一些不同的方法来解决这个问题,你可以

$(xml).find([name='key']).each(function(){
    alert($(this).text());                                                
});  

这将查找name属性等于“key”的所有元素,然后用该元素的文本发布警报。

因此有一些不同的方法来解决此问题,您可以

$(xml).find([name='key']).each(function(){
    alert($(this).text());                                                
});  

这将查找name属性等于“key”的所有元素,然后用该元素的文本发布警报。

我想匹配,如果attribute name=“c_AcknowledgementText”,那么它应该显示属性c_AcknowledgementText中给出的文本的警报消息。我想匹配,如果属性name=“c_AcknowledgementText”,那么它应该显示属性c_AcknowledgementText中给出的文本的警报消息。我怎么做?