gpt4 book ai didi

javascript - Appcelerator Windows Phone XML 解析错误

转载 作者:行者123 更新时间:2023-12-03 07:30:00 27 4
gpt4 key购买 nike

我已经开始使用 Appcelerator 在 Windows Phone 上进行开发。我使用 Android 代码作为基础,在执行此操作时,我遇到了 XML 解析的特定问题。这是 XML 字符串:

<returnXml>
<methodStatus>
<statusType>success</statusType>
</methodStatus>
<parametersReturn />
</returnXml>

这是我尝试运行的代码:

var xml = Ti.XML.parseString(xmlString);
var statusType = xml.evaluate("/returnXml/methodStatus/statusType").item(0).text;

上面的代码在 Android 上运行良好,但在 Windows Phone 上我得到:

TypeError: xml.evaluate is not a function

所以我尝试使用以下代码:

getElementsByTagName("statusType")

但似乎 Windows Phone 不支持这些功能,或者我在这里犯了一些错误。我应该做其他事情还是应该寻找适用于 JavaScript 的外部 XML 解析器库?如果有请指导一下。

最佳答案

我们应该支持 Ti.XML.Document.evaluate 函数(和 getElementsByName)。要查看我们围绕 Ti.XML API 的单元测试,您可以查看此处:https://github.com/appcelerator/titanium_mobile_windows/blob/master/Examples/NMocha/src/Assets/ti.xml.test.js

我们可能没有测试 XPath 或您正在使用的 API 的变体。如果是这样,也许我们在那里测试的一些内容可以帮助您暂时解决问题,直到我们解决问题为止?如果您在 JIRA 中提交一份 buh 报告,其中包含您正在使用的 SDK 版本的详细信息,这会对您有所帮助: https://jira.appcelerator.org/secure/CreateIssue!default.jspa

目前,我已经创建了一个带有新单元测试的 PR,试图重新创建您的问题:https://github.com/appcelerator/titanium_mobile_windows/pull/575如果您有改进该测试的建议,我们会很高兴知道。

我可以说你的代码片段在尝试访问文本值时应该失败,因为获取“文本”的属性是textContent,所以它是:

var statusType = xml.evaluate("/returnXml/methodStatus/statusType").item(0).textContent;

参见http://docs.appcelerator.com/platform/latest/#!/api/Titanium.XML.Node-property-textContent

尽管您可以在 XPath 表达式中一次完成所有操作:

var statusType = xml.evaluate("/returnXml/methodStatus/statusType[1]/text()");

关于javascript - Appcelerator Windows Phone XML 解析错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35843982/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com