Advertisement
Guest User

Untitled

a guest
Nov 13th, 2019
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.37 KB | None | 0 0
  1. INDEX.html
  2.  
  3. <!DOCTYPE html>
  4.  
  5. <html lang="en">
  6.  
  7. <head>
  8.  
  9. <style>
  10.  
  11. table ,td,tr,th{
  12.  
  13. border: 1px solid #000;
  14.  
  15. padding:4px;
  16.  
  17. }
  18.  
  19. </style>
  20.  
  21. <script>
  22.  
  23. var xmlDoc;
  24.  
  25. function loadXmlDoc(){
  26.  
  27. var xmlRequest = new XMLHttpRequest();
  28.  
  29. xmlRequest.onreadystatechange = function() {
  30.  
  31. if (xmlRequest.readyState == 4 && xmlRequest.status == 200) {
  32.  
  33. xmlDataFromServer(xmlRequest);
  34.  
  35. }
  36.  
  37. };
  38.  
  39. xmlRequest.open("GET", "books.xml", true);
  40.  
  41. xmlRequest.send();
  42.  
  43. }
  44.  
  45. function xmlDataFromServer(xml) {
  46.  
  47. xmlDoc = xml.responseXML;
  48.  
  49. }
  50.  
  51. function display(){
  52.  
  53. var i;
  54.  
  55. var table="<tr><th>Title</th><th>Author</th><th>Year</th><th>Price</th></tr>";
  56.  
  57. var x = xmlDoc.getElementsByTagName("book");
  58.  
  59. for (i = 0; i <x.length; i++) {
  60.  
  61. table += "<tr><td>" +
  62.  
  63. x[i].getElementsByTagName("title")[0].childNodes[0].nodeValue +
  64.  
  65. "</td><td>" +
  66.  
  67. x[i].getElementsByTagName("author")[0].childNodes[0].nodeValue +
  68.  
  69. "</td><td>"+
  70.  
  71. x[i].getElementsByTagName("year")[0].childNodes[0].nodeValue +
  72.  
  73. "</td><td>" +
  74.  
  75. x[i].getElementsByTagName("price")[0].childNodes[0].nodeValue +
  76.  
  77. "</td></tr>";
  78.  
  79. }
  80.  
  81. document.getElementById("books").innerHTML = table;
  82.  
  83. }
  84.  
  85. function addBook(){
  86.  
  87. let title = prompt("Enter Book Title");
  88.  
  89. let author = prompt("Enter Book Author");
  90.  
  91. let year = prompt("Enter Book Published Year");
  92.  
  93. let price = prompt("Enter Book Price");
  94.  
  95. //create new book node
  96.  
  97. let newBook=xmlDoc.createElement("book");
  98.  
  99. // create title node
  100.  
  101. let titleNode = xmlDoc.createElement("title");
  102.  
  103. titleNode.append(title);
  104.  
  105. //create author node
  106.  
  107. let authorNode = xmlDoc.createElement("author");
  108.  
  109. authorNode.append(author);
  110.  
  111. //create year node
  112.  
  113. let yearNode = xmlDoc.createElement("year");
  114.  
  115. yearNode.append(year);
  116.  
  117. //create price node
  118.  
  119. let priceNode = xmlDoc.createElement("price");
  120.  
  121. priceNode.append(price);
  122.  
  123. // finally append all childs to newbook node
  124.  
  125. newBook.appendChild(titleNode);
  126.  
  127. newBook.appendChild(authorNode);
  128.  
  129. newBook.appendChild(yearNode);
  130.  
  131. newBook.appendChild(priceNode);
  132.  
  133. // append the new book in the last
  134.  
  135. x=xmlDoc.documentElement;
  136.  
  137. x.insertBefore(newBook,null);
  138.  
  139. }
  140.  
  141. </script>
  142.  
  143. </head>
  144.  
  145. <body onload="loadXmlDoc()">
  146.  
  147. <!-- Create a paragraph with id mydata -->
  148.  
  149. <table id="books">
  150.  
  151. </table>
  152.  
  153. <input type='button' onclick='addBook()' value="Add Book"/>
  154.  
  155. <input type='button' onclick='display()' value="Display"/>
  156.  
  157. </body>]
  158.  
  159. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement