Javascript getElementById不';我找不到结果
我试图通过所有标记的id来解析xml文件。 这是我的xmlJavascript getElementById不';我找不到结果,javascript,html,xml,dom,Javascript,Html,Xml,Dom,我试图通过所有标记的id来解析xml文件。 这是我的xml <?xml version="1.0" encoding="UTF-8"?> <zones> <bedroom id="0"> <fan id="00">on</fan> <tv id="01">off</tv> </bedroom> <hall id="1">
<?xml version="1.0" encoding="UTF-8"?>
<zones>
<bedroom id="0">
<fan id="00">on</fan>
<tv id="01">off</tv>
</bedroom>
<hall id="1">
<tube id="10">on</tube>
<bulb id="11">off</bulb>
<fan id="12">on</fan>
<tv id="13">on</tv>
<ac id="14">on</ac>
</hall>
<kitchen id="2">
<freez id="20">on</freez>
</kitchen>
<toilet id="3">
<bulb id="30">on</bulb>
</toilet>
<bathroom id="4">
<heater id="40">on</heater>
</bathroom>
</zones>
一切正常。但是当我把它改成
var x=xmlDoc.getElementById("0");
浏览器中不显示任何内容。所以,请帮我解决这个问题,我被困在这个问题上。请使用
getElementById
不是
getElementsById请使用
var x=xmlDoc.getElementsById("0")
getElementById
不是
getElementsById
var x=xmlDoc.getElementsById("0")
应该是
var x=xmlDoc.getElementById("0")
非getElementsbyId
应该是
var x=xmlDoc.getElementById("0")
不是
getElementsbyId
看起来您有三个错误:
var x=xmlDoc.getElementsById("0");
应该是:
var x=xmlDoc.getElementById("0");
如果您还没有发现差异:
您正在使用getElementsById
当您应该使用getElementById()
XMLHttpRequest()
只有在HTTP服务器上才能工作
我发现以下错误:
您可以安装其中一个:
id
属性更改为xml:id
。它将在大多数(可能全部)现代浏览器中工作更新:OP已将代码从
getElementsById()
更改为getElementById()
看起来您有三个错误:
var x=xmlDoc.getElementsById("0");
应该是:
var x=xmlDoc.getElementById("0");
如果您还没有发现差异:
您正在使用getElementsById
当您应该使用getElementById()
XMLHttpRequest()
只有在HTTP服务器上才能工作
我发现以下错误:
您可以安装其中一个:
id
属性更改为xml:id
。它将在大多数(可能全部)现代浏览器中工作更新:OP已将代码从
getElementsById()
更改为getElementById()
getElementById返回一个属性类型为“ID”的元素,而不是名为“ID”的属性。如果XML文件中没有DTD,则没有定义类型的属性,因此getElementById将始终返回null
W3Schools在解释如何使用DTD方面做得相当好
我建议,如果你走这条路线,你考虑为XML元素使用一个更通用的名称,并使用一个属性来描述元素引用的空间或应用(例如,而不是使用或代替使用)。否则,DTD将比实际需要的更大、更难维护。
getElementById返回具有类型为“ID”的属性的元素,而不是名称为“ID”的属性。如果XML文件中没有DTD,则没有定义类型的属性,因此getElementById将始终返回null W3Schools在解释如何使用DTD方面做得相当好我建议,如果你走这条路线,你考虑为XML元素使用一个更通用的名称,并使用一个属性来描述元素引用的空间或应用(例如,而不是使用或代替使用)。否则,您的DTD将比实际需要的更大、更难维护。
var x=xmlDoc.getElementById(“0”)代码>字母字符非常重要
var x=xmlDoc.getElementById(“0”)代码>
字母字符是非常重要的文件的大量使用。书写
应被视为犯罪行为。标题令人困惑。您可能是指javascript的getElementById。您是否使用了正确的拼写getElementById()而不是getElementsById()?@TJ.-实际上是这样。但是这个问题甚至与PHP无关。@阿尔瓦罗:谢谢,我已经更改了我的评论。大量使用document.write
应该被视为犯罪行为。标题令人困惑。您可能是指javascript的getElementById。您是否使用了正确的拼写getElementById()而不是getElementsById()?@TJ.-实际上是这样。但这个问题甚至与PHP无关。@alvarog.Vicario:谢谢,我已经更改了我的评论。@AMUL好的,这是通过查看它来实现的。我将尝试使用JSFIDLE或类似的工具。我尝试通过复制htdocs文件夹中的xml和html文件来实现这一点,但同样如此output@AMUL你在用Apache、EasyHP、XAMPP或其他什么?我在用Apache。。。但身份部分对我来说仍然不起作用。还有其他解决方案吗?@AMUL你确实去了,或者,对了,不只是用文件打开它://URI@AMUL好的,那是通过查看它。我将尝试使用JSFIDLE或类似的工具。我尝试通过复制htdocs文件夹中的xml和html文件来实现这一点,但同样如此output@AMUL你在用Apache、EasyHP、XAMPP或其他什么?我在用Apache。。。但身份部分对我来说仍然不起作用。还有其他的解决办法吗?阿穆尔你去了,或者,对了,不只是用菲林打开它