如何使用java脚本读取xml

时间:2017-09-16 05:34:41

标签: javascript html dom

我想在xml文件中getElementsByTagName。 这是我的代码(.html)。

<html>
    <header>
        <title>Read XML</title>
    </header>
    <body>
        <h1>Hello My Application</h1>
        <script type="text/javascript">
        function readXML()
        {
            var xml= new XMLHttpRequest();
            xml.open('GET', 'C:\Users\xxx\Testxml.xml');
            //xml.send();
            var xmlData = xml.responseText;
            if(!xmlData)
            {
                xmlData = (new DOMParser()).parseFromString(xml.responseText, 'text/xml');
                var emp = xmlData.getElementsByTagName("employee");
                var name= emp[0].getElementsByTagName("name")[0].firstChild.data;
                document.write("Name = " + name);
            }
        }
        </script>
        <button onclick="readXML()">Read XML File</button>
    </body>
</html>

我运行了filename.html,但行var name= emp[0].getElementsByTagName("name")[0].firstChild.data;

上有错误

这是我的xml文件。

<company>
    <employee>
        <name>Chrish</name>
        <age>40</age>
        <salary>100</salary>
    </employee>
</company>

你能帮我吗?

Error

1 个答案:

答案 0 :(得分:0)

您是否尝试过记录xmlData变量以查看您是否确实能够读取xml文件?因为据我所知,不允许直接在javascript中读取本地xml文件。您可以尝试通过File API读取它。阅读更多相关信息here

其次,你的if条件似乎不正确。您正在检查(!xmlData),这意味着它将在xmlData为空时运行,而当它实际上能够在xmlData变量中获取数据时它应该正在运行。