在JavaScript / Ajax中,如何在XMLDocument中获取根元素的值?

时间:2012-10-29 21:10:00

标签: javascript xml web-services xml-parsing

这应该是易于查找的东西,但我看到的任何相关文档都无法在这种情况下工作。假设您通过以下XML从Web服务调用回复:

<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://tempuri.org/">Hello, World!  str=1</string>

我只想提取价值 - Hello,World! str = 1 - 无需使用string.replace()或其他类似的东西。如果XML存储在名为response的变量中,并且调用了以下代码:

alert(response.documentElement.nodeValue)

“未定义”是出现的内容。有没有搞错?我只是想从Web方法中获取字符串或任何类型的普通原语(我没有使用JSON或其他任何东西),但是很难找到有关如何执行此操作的文档。你怎么做到这一点?谢谢!

编辑:这是代码:

<WebMethod()> _
Public Function HelloWorld(ByVal str As Int32) As String
    Return "Hello, World!  str=" & str
End Function

<html>
<body>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js" type="text/javascript"></script>
<script type="text/JavaScript">
    <!--
        $.ajax({
            type: "POST",
            data: "&str=1",
            dataType: "xml",
            url: "<HTTP path and filename>.asmx/HelloWorld",
            timeout: 15000,
            cache:false,
            success: function (result) {
                alert(result);
            },
            error: function() {
                alert("bad");
            }
        });
    //-->
</script>
</body>
</html>

它显示:

[object XMLDocument]

1 个答案:

答案 0 :(得分:1)

response.documentElement.textContentresponse.documentElement.firstChild.nodeValue都会为您提供包含您提供的示例XML文档的文本内容。