我正在使用$.ajax
从数据库中返回数据作为 JSON 对象。其中一个字段是有效的 XML(已存储在 SQL Server 中的一个 XML 字段中)。当我$.parseXML
用来提取 XML 数据时,在 IE(版本 9)中一切正常,但在 Firefox 或 Chrome 中没有任何乐趣。
我想我可能需要做 2 个单独的查询,其中一个只是根据谷歌搜索返回带有 contentType 作为文本/XML 的 XML 数据。目前的 returnType$.ajax
是 JSON 和 .ashx 处理程序文件中的 contentType 一样(是的,它是一个 ASP 应用程序)。
有人可以在这里提供一些见解吗?
在此先感谢,大卫
样本:
function ParseXMLRecord(record) {
var xmlDoc = $.parseXML(record);
var $xml = $(xmlDoc);
var Questions = $xml.find("Question");
for (var x = 0; x < Questions.length; x++) {
var test = Questions[x];
for (var t = 0; t < Questions[x].childNodes.length; t++) {
if (Questions[x].childNodes[t].tagName == 'Response') {
var controlId = '', value = '';
for (var g = 0; g < Questions[x].childNodes[t].childNodes.length; g++) {
var tagname = Questions[x].childNodes[t].childNodes[g].tagName;
if (tagname === 'Control') {
fails on firefox --> controlId = Questions[x].childNodes[t].childNodes[g].text;
...
==================================================== =====================================
让我问这是另一种方式。这是我需要解析的 XML:
<ResponseSet>
<Question>
<Text>Laterality</Text>
<Response>
<Control>rbLateralityLft</Control>
<Value>Left</Value>
</Response>
</Question>
ETC...
基于上述,这一行不适用于 Firefox:
controlId = Questions[x].childNodes[t].childNodes[g].text; // 也不是这个--> Questions[x].childNodes[t].childNodes[g].nodeTypedValue