Hướng dẫn javascript xml string to array - chuỗi xml javascript thành mảng

Tôi đang cố gắng để có một phần của tệp XML vào mảng JavaScript.Tôi đã thử nhiều hướng dẫn, nhưng tôi không thể làm cho nó hoạt động.Đây là phần của tệp XML tôi muốn sử dụng:

    
      hello
      goodbye
    

Tôi muốn sử dụng câu trả lời trong một mảng javascript như:

var FAnswers = new Array("hello","goodbye");

Có ai, ai biết một JavaScript nhỏ đơn giản làm công việc không?

hỏi ngày 22 tháng 1 năm 2012 lúc 13:53Jan 22, 2012 at 13:53

Hướng dẫn javascript xml string to array - chuỗi xml javascript thành mảng

2

Chức năng sau đây nên thực hiện thủ thuật:

function get_answers_from_xml_string(xml_string) {
    // Parse the XML string into a XMLDocument
    var doc = window.DOMParser
                ? new DOMParser().parseFromString(xml_string, 'text/xml')    // Standard
                : new ActiveXObject('Microsoft.XMLDOM').loadXML(xml_string); // IE

    // Find the answer nodes
    var answers_nodes = doc.getElementsByTagName('answer');
    var answers = [];

    // Loop through them and save their text content into an array
    for (var i = 0; i < answers_nodes.length; i++) {
        answers.push(answers_nodes[i].firstChild.data)
    }

    return answers;
}

Chỉ cần chuyển nó một chuỗi chứa XML với câu trả lời và nó sẽ trả về một mảng:

var xml_string = 'hellogoodbye';
var answers = get_answers_from_xml_string(xml_string);
// answers == ["hello", "goodbye"]

Đã trả lời ngày 22 tháng 1 năm 2012 lúc 14:11Jan 22, 2012 at 14:11

Hướng dẫn javascript xml string to array - chuỗi xml javascript thành mảng

Jakub Roztociljakub RoztocilJakub Roztocil

15.6K4 Huy hiệu vàng49 Huy hiệu bạc52 Huy hiệu Đồng4 gold badges49 silver badges52 bronze badges

3

Vì vậy, bạn cần phân tích XML trong JavaScript.Hãy xem ví dụ này tôi vừa thực hiện:

// Some XML, say loaded with AJAX, etc.
var str = 'hellogoodbyeTest data';

var parser, xml;
if (window.DOMParser) {
    parser = new DOMParser();
    xml = parser.parseFromString(str, 'text/xml');
}
else { // IE
    xml = new ActiveXObject('Microsoft.XMLDOM');
    xml.async = false;
    xml.loadXML(str);
}

var nodes = xml.getElementsByTagName('answer');

var i, l = nodes.length, answers = [];
for (i = 0; i < l; i++) {
    answers.push(nodes[i].childNodes[0].nodeValue);
}

console.log(answers) // ["hello", "goodbye"]

Đã trả lời ngày 22 tháng 1 năm 2012 lúc 14:11Jan 22, 2012 at 14:11

Jakub Roztociljakub Roztocildfsq

15.6K4 Huy hiệu vàng49 Huy hiệu bạc52 Huy hiệu Đồng25 gold badges232 silver badges252 bronze badges

Vì vậy, bạn cần phân tích XML trong JavaScript.Hãy xem ví dụ này tôi vừa thực hiện:

// get XML 
var xml = xhr.responseXML;
var target = new Array();

// get answers
var answers= xml.getElementsByTagName("answer");
for (var i = 0; i < answers.length; i++) {   
    target.push(answers[i].nodeValue);
}  

Đã trả lời ngày 22 tháng 1 năm 2012 lúc 14:11Jan 22, 2012 at 14:11

Jakub Roztociljakub RoztocilMartin

15.6K4 Huy hiệu vàng49 Huy hiệu bạc52 Huy hiệu Đồng6 gold badges29 silver badges47 bronze badges

How about this way: The simplest - 

 var xml = "hellogoodbye";
    document.write (xml);
    var doc = document.getElementsByTagName('answer');
    var arrayAnswers = [];
    for(var i=0, len = doc.length; i < len; i++)
    {
       arrayAnswers.push(doc[i]);
    }
    alert(arrayAnswers[0].innerHTML);
    alert(arrayAnswers[1].innerHTML);

Vì vậy, bạn cần phân tích XML trong JavaScript.Hãy xem ví dụ này tôi vừa thực hiện:Jan 22, 2012 at 14:20

Hướng dẫn javascript xml string to array - chuỗi xml javascript thành mảng

DFSQDFSQLiam

189K25 Huy hiệu vàng232 Huy hiệu bạc252 Huy hiệu Đồng21 silver badges36 bronze badges