2010-12-12 74 views
0

我最近学会了如何在PHP中使用simpleXML格式化输出。您只需添加行$xml->formatOutPut = true;但是当我做到这一点时,我写的JavaScript无法解析XML。我用来选择formatOutPut行,所以XML被无格式地写入一行。当我选择格式行时,javascript可以解析XML。真的很奇怪。有没有办法不选择PHP中的格式行?

回答

0

如何用javascript解析XML?
如果问题是格式化输出,我想你使用的方法/集合也处理textNodes(例如childNodes)。如果是这种情况,你必须以这种方式修改你的JavaScript,它会跳过只包含whiteSpaces的textNodes(例如jQuery可以为你做这件事)。

+0

我用“var xmlDoc = xmlhttp.responseXML;”解析XML。并使用getElementsByTagName()方法获取所有节点。所以你说whiteSpaces导致错误?你可以在JavaScript中提供一些方法来解决这个问题吗?我不想使用JQuery – einstein 2010-12-12 23:20:09

+0

getElementsByTagName应该没有withepaces的问题,它只处理元素节点。你可以显示你的JavaScript解析器来确定问题吗? – 2010-12-12 23:32:54

+0

xmlhttp = new XMLHttpRequest(); \t xmlhttp.open(“GET”,“serverScripts/contacts/showContactList.php”,false); \t xmlhttp.send(); \t \t var xmlDoc = xmlhttp.responseXML; \t var root = xmlDoc.getElementsByTagName('contacts'); 然后我通过这个javascript代码得到XMl nodeValue。第一行失败的是: 。 。 。 var profileId = root [0] .childNodes [i] .getAttribute('profileId'); \t \t var profileMiniature = root [0] .childNodes [i] .getAttribute('profileMiniature'); – einstein 2010-12-12 23:38:55