NewBie
NewBie

Reputation: 1844

How to write a table content to an xml?

Can somebody tell me how can i write a clientside table control content to an xml on a button click . I'm using a clientside table "selectedTexts" and on save button click i need to save the table content to an xml. Please help.

 $(document).ready(function() {
  $('#<%=btnSave.ClientID %>').click(function(event) {


    var xml = "<schedule>";
    $("#selectedColumns").find("tr").each(function() {
      xml += "<data>";
      xml += $(this).find("td").eq(1).html() + "\n";
      xml += "</data>";
    });
    xml += "</schedule>";
    this.isPrototypeOf(
    alert(xml);

  })
});

I managed to get the string in an xml format. How can i pass this string to my codebehind so that i can write it to an xml file. Or is it any other methods available to write it from the clientside itself?

Upvotes: 0

Views: 2004

Answers (2)

seoul
seoul

Reputation: 864

@NewBie: I assume you are unable to generate id for <tr> so I am suggesting this way:

As you see in the code I have written: $("#root tr").each( function(index){

Here, index is the loop variable to represent current node/count of the matched element. For example if you had 50 <tr> row then index starts with 1 and goes upto 50. Thus you can use this variable to mark your <tr> tag :-)

Just edit like this:

$("#root tr").each( function(index){
 xml +="<"+index+">"; // replaced $(this).attr("id") with index
 // other codes here
}

Best of luck...

Upvotes: 0

seoul
seoul

Reputation: 864

if your table's code is as follows:

<table id="root">
 <tr id="category_1">
  <td>value-1</td>
  <td>value-2</td>
 </tr>
 <tr id="category_2">
  <td>value-7</td>
  <td>value-8</td>
 </tr>
</table>

then following JQuery will convert it to a xml where comments wih // denote first time output:

var xml="";

$("#root").each( function(index){
 xml +="<"+$(this).attr("id")+">"; 
 // <root>

 $("#root tr").each( function(index){
 xml +="<"+$(this).attr("id")+">"; 
 // <root><category_1>

  $(td,this).each( function(index){
  xml +="<"+$(this).html()+">"; 
  // <root><category_1><value_1><value_2>
  }
 }
}

Should work :-) ta-da...

Upvotes: 1

Related Questions