【问题标题】:Getting data from a remote XML file in Appcelerator titanium在 Appcelerator Titan 中从远程 XML 文件中获取数据
【发布时间】:2018-07-24 23:07:00
【问题描述】:

我正在尝试解析一个非常简单的 XML 文件。

我需要获取一个包含 URL 的标记元素。 XML 文件中的标记是 sURL。

我尝试使用下面的代码,但它没有返回 URL 的文本值。 我不知道我做错了什么以及为什么它不起作用。

var url = "http://example.com/data.xml"; //xml resource url     
var xhr = Titanium.Network.createHTTPClient();
xhr.onload = function() {   
  var doc = this.responseXML.documentElement;
  var myURL = doc.getElementsByTagName("sURL");
  Ti.API.info(myURL);
};
xhr.onerror = function(e) { 
 alert('Network error '+e.error);
};
xhr.open('GET',url);
xhr.send();

XML:

<rss version="2.0">
<channel>
<title>test</title>
<description>

</description>
<time>test</time>
<time2>test</time2>
<sURL>https://example.com</sURL>
<item>
<title>test</title>
<broadcast>test</broadcast>
<time>17:00</time>
<time2>14:00</time2>
</item>
<item>
<title>test</title>
<broadcast>test</broadcast>
<time>19:00</time>
<time2>16:00</time2>
</item>
<item>
<title>test</title>
<broadcast>test</broadcast>
<time>21:00</time>
<time2>18:00</time2>
</item>
<item>
<title>test</title>
<broadcast>test</broadcast>
<time>23:00</time>
<time2>20:00</time2>
</item>
<item>
<title>test</title>
<broadcast/>
<time>01:00</time>
<time2>22:00</time2>
</item>
</channel>
</rss>

【问题讨论】:

  • 可以添加相关的xml部分吗?
  • test GMTexample.como</sURL> 测试标题 测试14:00
  • 我已经添加了上面的XML代码。

标签: javascript android titanium appcelerator


【解决方案1】:

检查下面的代码以获取 sURL 的第一项,如果它不起作用共享 xml 文件

var url = "https://gist.githubusercontent.com/kassemitani/e25ab8654a4914a7e19edaecd7cb5460/raw/3aad56a246edc8e4dd42b1255c602f8676434a8f/test.xml"; //xml resource url     
var xhr = Titanium.Network.createHTTPClient();
xhr.onload = function() {   
  var doc = this.responseXML.documentElement;
  var myURL = doc.getElementsByTagName("sURL").item(0).textContent;
  Ti.API.info(myURL);
};
xhr.onerror = function(e) { 
 alert('Network error '+e.error);
};
xhr.open('GET',url);
xhr.send();

【讨论】:

  • 感谢您的回复,我从以下 XML 中获取 sURL 标签:
  • 我从 Ti.API.info(myURL) 的输出中得到未定义
  • @Al1nuX 我已经测试了上面的代码并且它正在工作,它打印了example.com
  • @Al1nuX 我托管了你的 xml 文件使用这个链接gist.githubusercontent.com/kassemitani/…
  • 您好,谢谢兄弟的回复。但我仍然得到 [INFO] : undefined ,我正在使用 Alloy 和最新的 SDK。我不知道为什么我看不到文本结果。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-11-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-18
相关资源
最近更新 更多