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

Asked

Viewed 60 times

3

How can I add, with jQuery, a new node <nota ordem="4"> with the default nodes that are in the example that I am showing in the XML file below (name, data, drive, 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 involved by a node called todas_notas

  • Hello @Leonardomonteiro, welcome to Sopt. You can organize your question so we can help you. It is very confusing and you may have several negative votes. What do you really want to do? Separate the data you want to add with Jquery. And first of all, take the tour of Sopt http://answall.com/tour

  • I edited my question you could preview to see if I could be clearer? thanks

1 answer

0

With jQuery you’d have to do so:

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

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

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

For you see how the node data nota 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>

Browser other questions tagged

You are not signed in. Login or sign up in order to post.