如何在SenchaTouch中用JavaScript逐行读取凌乱的xml数据
我有一个凌乱的xml数据源(它不在我的控制范围内,无论如何也不会在我的控制范围内) 如您所见,只有一个节点包含多行数据 对于每一行数据,都有许多不同的字段,没有标题或开始/结束标记,因此将这些数据行解析为小块非常不同 我使用的是senchatouch和JavaScript 我能想到的最进一步的步骤是首先从标签中取出大块数据,然后我不知道下一步怎么做 欢迎任何建议如何在SenchaTouch中用JavaScript逐行读取凌乱的xml数据,javascript,xml,extjs,sencha-touch,Javascript,Xml,Extjs,Sencha Touch,我有一个凌乱的xml数据源(它不在我的控制范围内,无论如何也不会在我的控制范围内) 如您所见,只有一个节点包含多行数据 对于每一行数据,都有许多不同的字段,没有标题或开始/结束标记,因此将这些数据行解析为小块非常不同 我使用的是senchatouch和JavaScript 我能想到的最进一步的步骤是首先从标签中取出大块数据,然后我不知道下一步怎么做 欢迎任何建议 多谢各位 我将根据换行符\n将数据拆分成一个数组。然后,看起来您可以使用逗号拆分以获得列。以下是一个例子: var
多谢各位 我将
根据换行符\n
将数据拆分成一个数组。然后,看起来您可以使用逗号拆分以获得列。以下是一个例子:
var rows = myInfo.split('\n');
console.log(rows);
Ext.each(rows,function(row){
var columns = row.split(',');
console.log(columns)
});
我做了一个演示
更新:
在JSFiddle或senchafiddle这样的演示站点上,通常无法连接到ajax请求的实时源代码,因为。他们获取虚拟数据,基本上伪造响应
我无法从你在fiddle上发布的url中获取任何数据。此外,sencha.fiddle中的xml解析器可能存在问题。我在JSFIDLE中创建了一个包含解析信息的ExtJS ajax请求的虚拟示例
基本守则如下:
Ext.Ajax.request({
url:'/echo/xml/',//the js fiddle required url for example ajax requests
method:'POST',
params:{//These parameters are just passed this way for JSFiddle
xml:'<data>dsajjdsj,34343,434343\ndfgsdf,34343,43</data>',
delay:1
},
success:function(response){
var data = response.responseXML.documentElement.textContent;
var rows = data.split('\n');
Ext.each(rows,function(row){
var columns = row.split(',');
console.log(columns);
});
}
});
Ext.Ajax.request({
url:“/echo/xml/”,//js FIDLE所需的url,例如ajax请求
方法:'POST',
params:{//这些参数只是通过这种方式传递给JSFIDLE
xml:'Dsajdsj,343\ndfgsdf,34343,43',
延误:1
},
成功:功能(响应){
var data=response.responseXML.documentElement.textContent;
var rows=data.split('\n');
Ext.each(行,函数(行){
var columns=row.split(',');
console.log(列);
});
}
});
如果您可以提供虚拟数据,我可以修改示例以包含与您的数据更相似的数据。谢谢:),在我的情况下,在大数据块中没有“\n”。但是我会尝试一下,看看它是否有效。\n
代表一个新的行。显示数据时,您看不到它。但是,数据中的行尾字符可能不同。您好,weeksdev,谢谢您的回复。我按照你的指示做了,但是替换了你的数据并输入了now.xml,然后什么都不起作用。你能看一下吗?谢谢大家,weeksdev,谢谢你们的更新。但是,演示数据太简单,无法反映我的问题,因此我更新了您的数据并放入了我的数据源片段,然后演示停止工作。如果您需要查看,这里还有数据源。(谢谢你的帮助:)太好了,谢谢。我在记事本++中检查了您的数据(允许查看换行符),有尾随的crlf。这是一个与您的数据相似的示例。希望这有帮助。将CSV数据包装在几个XML标记中并不能使其成为XML。这种数据格式非常糟糕。嗨@EvanTrimboli我完全同意你的看法。然而,这不是我的数据源,因此,我只能读取它,但无法纠正其结构。请不要因为别人的过错而否决我的问题。thxI没有。但是将其标记为XML是一种延伸。hi@Evantimboli我没有将其标记为XML,数据源本身有。。。。。。。