我想在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>
你能帮我吗?
答案 0 :(得分:0)
您是否尝试过记录xmlData变量以查看您是否确实能够读取xml文件?因为据我所知,不允许直接在javascript中读取本地xml文件。您可以尝试通过File API读取它。阅读更多相关信息here。
其次,你的if条件似乎不正确。您正在检查(!xmlData),这意味着它将在xmlData为空时运行,而当它实际上能够在xmlData变量中获取数据时它应该正在运行。