【问题标题】:How to parse a local XML file in Titanium?如何在 Titanium 中解析本地 XML 文件?
【发布时间】:2012-01-24 10:46:56
【问题描述】:

我的Resources 文件夹包含一个 XML 文件。我需要在 Titanium 中解析它。我写了以下代码:

try {
    var file = Ti.Filesystem.getFile(Ti.Filesystem.resourcesDirectory,'Translation.xml');
    var xmltext = file.read().text;
    var doc = Ti.XML.parseString(xmltext);
}
catch(e) {
     alert(e); 
     Ti.API.info(e);    
}

但我收到下一个错误:

 - result of expression 'file.read() is not an object

有什么解决办法吗?谢谢!

【问题讨论】:

    标签: javascript xml-parsing titanium titanium-mobile titanium-modules


    【解决方案1】:

    尝试检查您的文件是否存在。

    var file = Ti.Filesystem.getFile(Ti.Filesystem.resourcesDirectory,'Translation.xml'); 
    if ( file.exists() ) {
            var xmltext = file.read().text;
            var doc = Ti.XML.parseString(xmltext); 
    }
    

    【讨论】:

    • 它也给文件找不到
    • 是的,我在删除构建后得到。但我没有得到整个 xml 文本。它只显示第一行
    • 看看它提供了什么:var fcontent = file.read(); Ti.API.info('contents = ' + fcontent.text);
    • 这个语句也给出了相同的行
    • 我只得到第一行 XML 文件
    【解决方案2】:

    似乎在系统上找不到该文件,这就是您收到错误消息的原因。尝试如下所述放置整个路径。示例:

    var file = Titanium.Filesystem.getFile("../Resources/tableWindows/CrossRef.xml");
    

    遇到同样问题的人:http://developer.appcelerator.com/question/123246/xml-file-will-not-read

    【讨论】:

    • 或使用绝对 URL:getFile("/Resour..
    猜你喜欢
    • 2012-05-10
    • 1970-01-01
    • 2010-11-25
    • 1970-01-01
    • 1970-01-01
    • 2012-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多