How to add a new node in an XML with jQuery?

3

How can I add, with jQuery, a new <nota ordem="4"> node with the default nodes that are in the example I'm showing in the XML file below (name, date, unit, reference and text)?

I wanted to add after note order 3 a note order 4.

XML file:

<nota ordem="1">
    <nome>Leonardo</nome>
    <data>07/12/2015</data>
    <unidade>Ensino Médio</unidade>
    <referencia>Este um titulo de conteúdo de teste</referencia>
    <texto>Conteúdo de teste--Conteúdo de teste--Conteúdo de teste--Conteúdo de teste--Conteúdo de teste--Conteúdo de teste.</texto>
</nota>

<nota ordem="2">
    <nome>Marcela</nome>
    <data>08/12/2015</data>
    <unidade>Ensino Médio</unidade>
    <referencia>Este um titulo de conteúdo de teste</referencia>
    <texto>Conteúdo de teste--Conteúdo de teste--Conteúdo de teste--Conteúdo de teste--Conteúdo de teste--Conteúdo de teste.</texto>
</nota>

<nota ordem="3">
    <nome>Rafaela</nome>
    <data>09/12/2015</data>
    <unidade>Ensino Médio</unidade>
    <referencia>Este um titulo de conteúdo de teste</referencia>
    <texto>Conteúdo de teste--Conteúdo de teste--Conteúdo de teste--Conteúdo de teste--Conteúdo de teste--Conteúdo de teste.</texto>
</nota>

NOTE: It is not appearing there, but the nodes that have the note name are surrounded by a node called todas_notas

    
asked by anonymous 10.12.2015 / 12:51

1 answer

0

With jQuery you would have to do this:

var $node = $('<nota/>', {
    ordem : 4,
    html: [
        $('<nome/>', {html: 'Hugo'}),
        $('<data />', {html: '10/05/2001'}),
        // E assim por diante
    ]
})

As you mentioned that the parent element of your xml is todas_notas , then do so:

$('todas_notas').append($node)

For you to see how data from the nota node that was created, I made a snippet:

$(function(){
    var $node = $('<nota/>', {
	    ordem : 4,
	    html: [
		    $('<nome/>', {html: 'Hugo'}),
		    $('<data />', {html: '10/05/2001'}),
	    ]
    })


    html_of_node = $node.prop('outerHTML');

    $('body').text(html_of_node)
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    
14.12.2015 / 16:04