找不到导入的xml文件的节点

时间:2016-01-08 16:37:43

标签: jquery html ajax xml

导入XML文件后,我试图获取“工作表”节点的长度,但是当应该有3个时,它们将返回0。任何帮助让这个工作的人将不胜感激。感谢。

 $(document).ready(function ()
        {
            $.ajax({
                type: "GET", url: "menu5.xml", dataType: "xml",
                success: function (xml2)
                {
                    var xml = xml2,
                            xmlDoc = $.parseXML(xml),
                            $xml = $(xmlDoc);

                    alert($xml.find('sheet').length);

                    $xml.find('sheet').each(function ()
                    {
                        alert("here2");
                        var sheet = $(this);
                        var menuName = $(sheet).attr("name");
                        alert(menuName);
                    });
                }
            });

这是XML:

<?xml version="1.0" encoding="UTF-8"?>
<root>
<sheet id="1" name="Submenu1">
    <row id="1_1">
        <col1>CODE1a</col1>
        <col2>Option NAME 1</col2>
    </row>
    <row id="1_2">
        <col1>CODE1b</col1>
        <col2>Option NAME 2</col2>
    </row>
</sheet>
<sheet id="2" name="Submenu2">
    <row id="2_1">
        <col1>CODE2a</col1>
        <col2>Option NAME 1</col2>
    </row>
    <row id="2_2">
        <col1>CODE2b</col1>
        <col2>Option NAME 2</col2>
    </row>
</sheet>
<sheet id="3"  name="Submenu3">
    <row id="3_1">
        <col1>CODE3a</col1>
        <col2>Option NAME 1</col2>
    </row>
    <row id="3_2">
        <col1>CODE3b</col1>
        <col2>Option NAME 2</col2>
    </row>
</sheet>
</root>

1 个答案:

答案 0 :(得分:1)

由于DataType设置为xml,因此已解析xml2变量。 因此,删除xmlDoc步骤。 以下代码有效:

RewriteEngine On

RewriteCond %{QUERY_STRING} (?:^|&)(?:i|itemype_id)=2000(?:&|$) [NC]
RewriteRule ^/?$ /http://www.mynewdomain/mynewstaticitem.html? [L,R=301]