0

我不太确定,也找不到任何东西。

使用 stringByEvaluatingJavascriptFromString:,我已经能够从 Objective-c 操作页面中的 javascript。但是,我现在想通过将原始 xml 数据从 iOS UIWebView 传递到 html 文件(应用程序本地)来填充表单字段,然后使用解析的数据。

查看 W3C 文档,似乎我需要执行以下操作:

parser = new DOMParser();
xmlString = parser.parseFromString(txt, "text/xml");

它应该从 XML 中返回一个 DOM 对象(这里由字符串 txt 表示)。然后我应该能够访问这个 DOM 对象的属性

xmlString.getElementsByTagName("from")[0].childNodes[0].nodeValue;

假设我们有一个 XML 节点,例如:

<from>Sender</from>

但是,这似乎不起作用。将该 nodeValue 设置为字符串并返回它会返回 nil。同样,不会填充表单域。

那么,我的问题是,应用程序中的嵌入式浏览器是否可以利用 DOM 解析器 - 如果可以,我可以使用什么语法来访问其中的值?

4

1 回答 1

0

解决了,不幸的是非常快。似乎在设置表单字段时,您需要指定 VALUE 而不是 innerhtml。

所以我做了:

document.getElementById("FIELDID").value = 
            xmlString.getElementsByTagName("from")[0].childNodes[0].nodeValue;

此外,我将传递给 DOM 解析器的参数错误 - 第二个参数是“text/xml”。

于 2012-06-06T18:25:02.530 回答