Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

writing XML files with jQuery

chaning xml attributes through jquery is easy-peasy, just:

$(this).attr('name', 'hello');

but how can I add another tag into the file? I tried using append the JS dies silently.

Is there any way to do this?

Clarifications: this code is part of an extension to firefox, so don't worry about saving into the user file system. Still append doesn't work for xml documents yet I can change xml attribute values

like image 554
CamelCamelCamel Avatar asked Dec 22 '22 10:12

CamelCamelCamel


1 Answers

The problem is that jQuery is creating the new node in the current document of the web page, so in result the node can't be appended to a different XML Document. So the node must be created in the XML Document.

You can do this like so

var xml = $('<?xml version="1.0"?><foo><bar></bar><bar></bar></foo>'); // Your xml
var xmlCont = $('<xml>'); // You create a XML container
xmlCont.append(xml); // You append your XML to the Container created in the main document

// Now you can append without problems to you xml
xmlCont.find('foo bar:first').append('<div />');

xmlCont.find('foo bar div'); // Test so you can see it works
like image 157
Cristian Toma Avatar answered Dec 27 '22 20:12

Cristian Toma