Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript`document.getElementsByTagName`解析xml(xforms)文档在phonegap android中不起作用_Javascript_Android_Jquery_Xml_Cordova - Fatal编程技术网

使用javascript`document.getElementsByTagName`解析xml(xforms)文档在phonegap android中不起作用

使用javascript`document.getElementsByTagName`解析xml(xforms)文档在phonegap android中不起作用,javascript,android,jquery,xml,cordova,Javascript,Android,Jquery,Xml,Cordova,我在用javascript解析XFormXML时遇到了一些问题 xml根目录的结构为: <?xml version="1.0"?> <h:html xmlns="http://www.w3.org/2002/xforms" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:ex="http://www.w3.org/2001/xml-events" xmlns:xsd="http://www.w3.org/2001/XMLSchema"

我在用javascript解析XFormXML时遇到了一些问题

xml根目录的结构为:

<?xml version="1.0"?>
<h:html xmlns="http://www.w3.org/2002/xforms" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:ex="http://www.w3.org/2001/xml-events" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:jr="http://openrosa.org/javarosa">
  <h:head>
    <h:title>Phonegap Survey</h:title>        
  </h:head>
  <h:body>A ton more tags here</h:body>
</h:html>
我已经用这些方法编写了完整的应用程序(而且效果很好)。但是现在我已经将我的文件复制到eclipse上的phonegap(在android emulator 2.3上运行cordovo 1.7.0)上,没有一个DOM调用返回元素!!我得到的结果是:

05-31 13:21:28.686: D/CordovaLog(841): file:///android_asset/www/formcontroller.js:
line 159 : TypeError: Result of expression 'body' [undefined] is not an object.
所有的电话。我已验证设备是否具有正确的xml(它不是空的或任何东西)

因此,为了完成这项工作,我尝试使用jQuery来导航文档对象,希望它知道一些我不知道的东西。使用以下调用:

$(surveyXML).find('title');
$(surveyXML).find('h:title')
根本不工作。但是,如果我要搜索
$(surveyXML),没有
h:
前缀的标记可以正常工作。find('text')
按预期返回所有
text
元素

由于根元素是
,所以我尝试指定
数据类型:html
(即使文档清楚地标记为
,也只是尝试一下),jquery无法像预期的那样解析它

所以我想知道:我如何跨平台解析这个XML,使它可以在浏览器和phonegap中工作。而且,假设它不能在两种情况下都使用相同的DOM操作函数,那么我如何至少让它在phonegap中工作呢??

一如既往,我们非常感谢您的帮助。多谢各位


EDIT:现在我只是手动引用元素的确切位置,比如进入body,我将使用
xml.firstChild.children[1]
。因为我在最后期限之前。我觉得还是应该有办法使用getElementsByTagName。ty.

这已经有两周没有人回答了,所以我只是发布了我所做的事情

现在,我只是手动引用元素的确切位置,比如访问body,我将使用xml.firstChild.children[1]

所以我所做的不是搜索带有名称空间的标记,而是直接引用它们

$(surveyXML).find('title');
$(surveyXML).find('h:title')