Maybe this would help you :)
Thank you,
Mandy. p.s. I have not written this. I got this from some site
long time back.
XMLParser = Class.create();
Object.extend(XMLParser.prototype, { initialize: function(xmlObj) { this.xmlObj = xmlObj; this.root = xmlObj.documentElement; }, list: function(value) { var result = this.root.getElementsByTagName(value); return result; }, get: function (node, value) { if(typeof value != 'undefined') node = node.getElementsByTagName(value).item(0); return this.text(node); }, toArray: function(value) { var list = this.list(value); var nodeValues = new Array(); for (var i = 0; i < list.length; i++) { nodeValues.push(this.get(list[i])); } return nodeValues; }, text: function (node) { if (typeof node.textContent != 'undefined') { return node.textContent; } else if (typeof node.innerText != 'undefined') { return node.innerText; } else if (typeof node.text != 'undefined') { return node.text; } else { switch (node.nodeType) { case 3: case 4: return node.nodeValue; break; case 1: case 11: var innerText = ''; for (var i = 0; i < node.childNodes.length; i++) { innerText += text(node.childNodes[i]); } return innerText; break; default: return ''; } } } }); XMLParser.nodeType = [ "", "ELEMENT_NODE", // 1 "ATTRIBUTE_NODE", // 2 "TEXT_NODE", // 3 "CDATA_SECTION_NODE", // 4 "ENTITY_REFERENCE_NODE", // 5 "ENTITY_NODE", // 6 "PROCESSING_INSTRUCTION_NODE", // 7 "COMMENT_NODE", // 8 "DOCUMENT_NODE", // 9 "DOCUMENT_TYPE_NODE", // 10 "DOCUMENT_FRAGMENT_NODE", // 11 "NOTATION_NODE" // 12 ]; <*cript language="_javascript_" type="text/_javascript_">
var xmlParser = new XMLParser(originalRequest.responseXML); var items = xmlParser.list('item'); for (var i = 0; i < items.length; i++) { var id = xmlParser.get(items[i], 'id'); var name = xmlParser.get(items[i], 'name'); $('result').value += id + ', ' + name + '\r\n'; } var names = xmlParser.list('name'); for (var i = 0; i < names.length; i++) { $('result').value += xmlParser.get(names[i]) + '\r\n'; } var ids = xmlParser.toArray('id'); for (var i = 0; i < ids.length; i++) { $('result').value += 'id:' + ids[i] + '\r\n'; } </*cript> <textarea id="result" cols="60" rows="10" ></textarea> <?xml version="1.0" encoding='euc-kr'?>
<list> <item> <id>1</id> <name>a1</name> </item> <item> <id>2</id> <name>a2</name> </item> <item> <id>3</id> <name>a3</name> </item> </list> |
_______________________________________________ Rails-spinoffs mailing list Rails-spinoffs@lists.rubyonrails.org http://lists.rubyonrails.org/mailman/listinfo/rails-spinoffs