diff --git a/addform.html b/addform.html index c7a61c0..57c9557 100644 --- a/addform.html +++ b/addform.html @@ -541,7 +541,7 @@ - + @@ -648,8 +648,8 @@ function loadXML(xmlFileName) { } else{ decodeData = data; } - resolve(decodeData) - xml2json(decodeData) + resolve(data); + xml2json(data); // json2nav(); // clearSidebarWrapper(); // navpane(); @@ -1043,10 +1043,10 @@ function addSection(title = false, description = false, random_no = false, secti //mark calculation code for section // var Section_Attempt_Any_raw_Id = 'Section_Attempt_Any_Id_' + sectionRandomID; - // var Section_Marks_raw_Id = 'Section_Marks_Id_' + sectionRandomID; + var Section_Marks_raw_Id = 'Section_Marks_Id_' + sectionRandomID; - // $('#'+Section_Marks_raw_Id).prop("disabled", true); + $('#'+Section_Marks_raw_Id).prop("disabled", true); // $('#'+Section_Attempt_Any_raw_Id).keyup(function() { // var inputValue = $(this).val(); @@ -1083,7 +1083,7 @@ $('#'+Section_Marks_raw_Id).keyup(function() { json2nav(); clearSidebarWrapper(); navpane(); - + } @@ -1424,6 +1424,7 @@ $('#'+Question_Attempt_Any_Fields).keyup(function() { json2nav(); clearSidebarWrapper(); navpane(); +markCalculation() } @@ -2018,6 +2019,8 @@ $('#'+choiceQuestionMarkField).keyup(function() { json2nav(); clearSidebarWrapper(); navpane(); +markCalculation(); + } @@ -2174,6 +2177,7 @@ function addNewChoice(NewaddChoiceAreaId = false , choiceName = false, choiceDes json2nav(); clearSidebarWrapper(); navpane(); + } //Function for Create a New Text Question in the Section and Question Group @@ -2427,113 +2431,7 @@ function textQuestion(question_id = false, section_id = false, group_question_ar }); - //mark calculation in TextQuestion - -// var textQuestionMarkField = 'Text_Question_Marks_Id_'+ addTextQuestionId - -// var sectionRandomID = localStorage.getItem('sectionId'); -// var Section_Attempt_Any_raw_Id = 'Section_Attempt_Any_Id_' + sectionRandomID; -// var Section_Marks_raw_Id = 'Section_Marks_Id_' + sectionRandomID; - - - -// var QuestionGroup_ID = localStorage.getItem('QuestionGroupId'); -// var Question_Attempt_Any_Fields = 'Question_Attempt_Any_Id_' + QuestionGroup_ID; -// var Question_Group_Marks_Field = 'Question_Group_Marks_Id_' + QuestionGroup_ID; - - -// //These lines are execute only the 'textQuestion()' function call -// var QGinputValue = $('#'+Section_Attempt_Any_raw_Id).val(); -// var InMarkValue = $('#'+Section_Marks_raw_Id).val(); -// // alert(InMarkValue); - -// if(QGinputValue == ""){ -// $('#'+textQuestionMarkField).prop("disabled", false); -// // alert('text question enable'); -// }else{ -// $('#'+textQuestionMarkField).prop("disabled", true); -// $('#'+textQuestionMarkField).val(InMarkValue); -// // alert('text question disabled'); -// } -// //end of the lines - - -// // These lines are working only the Section function to change anything AtemptAny field -// $('#'+Section_Attempt_Any_raw_Id).keyup(function() { -// var inputValue = $(this).val(); -// var MarkValue = $('#'+Section_Marks_raw_Id).val(); - -// // alert(MarkValue); - -// if(inputValue == "" && section_id){ -// $('#'+textQuestionMarkField).prop("disabled", false); -// // alert('sectionRandomID text enable'); -// }else{ -// $('#'+textQuestionMarkField).prop("disabled", true); -// // alert('sectionRandomID text disabled'); -// } -// json2nav(); -// }); - -// $('#'+Section_Marks_raw_Id).keyup(function() { -// var MarksinputValue = $(this).val(); - -// if(MarksinputValue !== "" && section_id){ -// $('#'+textQuestionMarkField).val(MarksinputValue); -// } -// }); -// //end of the line - - -// //These lines are execute only the 'textQuestion()' function call -// var QG_AttemptAny_inputValue = $('#'+Question_Attempt_Any_Fields).val(); -// var QG_Marks_inputValue = $('#'+Question_Group_Marks_Field).val(); -// // alert(InMarkValue); - -// if(QG_AttemptAny_inputValue == ""){ -// $('#'+textQuestionMarkField).prop("disabled", false); -// // alert('text question enable'); -// }else{ -// $('#'+textQuestionMarkField).prop("disabled", true); -// $('#'+textQuestionMarkField).val(QG_Marks_inputValue); -// // alert('text question disabled'); -// } -// //end of the lines - - - -// // These Function are working only the QuestionGroup to change anything AtemptAny field -// $('#'+Question_Attempt_Any_Fields).keyup(function() { -// var inputValue = $(this).val(); -// var QG_Marks_inputValues = $('#'+Question_Group_Marks_Field).val(); - -// if(inputValue == "" && group_question_area_id){ -// $('#'+textQuestionMarkField).prop("disabled", false); -// // alert('QuestionGroup_ID text enable'); -// }else{ -// $('#'+textQuestionMarkField).prop("disabled", true); -// $('#'+textQuestionMarkField).val(QG_Marks_inputValues); -// // alert('QuestionGroup_ID text disabled'); - -// } -// json2nav(); -// }); - -// $('#'+Question_Group_Marks_Field).keyup(function() { -// var MarksinputValue = $(this).val(); - -// if(MarksinputValue !== "" && group_question_area_id){ -// $('#'+textQuestionMarkField).val(MarksinputValue); -// } -// }); -// // end of the lines - - -//end of mark calculation in textquestion - - - - var AddButtons_Raw = 'AddButtons_'+addTextQuestionId; + var AddButtons_Raw = 'AddButtons_'+addTextQuestionId; var overallAddButtons_Raw = 'overallAddButtons_'+addTextQuestionId; var QuestionGroupAddButtons_Raw = 'QuestionGRoupAddButtons_'+addTextQuestionId; var overallQuestionGroupAddButtons_Raw = 'overallQuestionGRoupAddButtons_'+addTextQuestionId; @@ -2679,6 +2577,7 @@ function textQuestion(question_id = false, section_id = false, group_question_ar json2nav(); clearSidebarWrapper(); navpane(); + markCalculation(); } diff --git a/json2html.js b/json2html.js index 5f33680..f56f0f0 100644 --- a/json2html.js +++ b/json2html.js @@ -88,8 +88,6 @@ function jsonToHtml(jsonData) { else if (questionType == 'group') { groupQuestion(false, false, false, questionTitle, questionDescription, questionSubType, mathEnabled, Choice, questionAreaId, false, questionRandomNo, false, questionMarks, questionUUID, false, false, questionDisplayMarks, false); - // groupQuestion(false, false, false, question_Title, question_Description, mathEnabled, Choice, false, questionGroupId, false, QuestionGroupRandomNo, false, false, group_question_marks, group_question_uuid, false, group_question_Display_Marks); - Choice = Choice.slice(1); Choice.forEach(function(choicenames, index) { @@ -159,7 +157,7 @@ function generateGroupQuestion(Question, questionAreaId, questionRandomNo) else if(group_question_Type == 'group') { // console.log('child ggroup'+group_question_Title) - groupQuestion(false, false, false, group_question_Title, group_question_Description, mathEnabled, Choice, false, questionGroupId, false, QuestionGroupRandomNo, false, false, group_question_marks, group_question_uuid, false, group_question_Display_Marks); + groupQuestion(false, false, false, group_question_Title, group_question_Description, mathEnabled, Choice, false, questionGroupId, false, QuestionGroupRandomNo, false, false, group_question_uuid, group_question_marks, false, group_question_Display_Marks); Choice = Choice.slice(1); diff --git a/json2xml.js b/json2xml.js index a54f63a..aa543b4 100644 --- a/json2xml.js +++ b/json2xml.js @@ -114,8 +114,8 @@ function json2xml() { var groupQuestionTitle = createElementWithText(doc, element, 'Text', singleQuestion['group_title']); var groupQuestionDesc = createElementWithText(doc, element, 'Subtext', singleQuestion['group_description']); var groupQuestionMarks = createElementWithText(doc, element, 'Marks', singleQuestion['group_marks']); - var groupQuestionMarks = createElementWithText(doc, element, 'DisplayMarks', (singleQuestion['group_display_marks'] === true ? 'true' : 'false' )); - var groupQuestionMarks = createElementWithText(doc, element, 'AttemptAny', singleQuestion['group_attempt_any']); + var groupQuestionDisplayMarks = createElementWithText(doc, element, 'DisplayMarks', (singleQuestion['group_display_marks'] === true ? 'true' : 'false' )); + var groupQuestionAttemptAny = createElementWithText(doc, element, 'AttemptAny', singleQuestion['group_attempt_any'] ); var groupQuestionItemsElement = createElementWithText(doc, element, 'Items', ''); //gather questions data inside question group @@ -175,6 +175,8 @@ function json2xml() { //create section related xml nodes var tempSection = questionPaper['sections'][section]; + console.log(tempSection); + var sectionElement = createElementWithText(xmlDoc, rootItemsElement, 'Question', '', { 'xsi:type': 'QuestionPaperSection', 'Id': tempSection['section_uuid'], @@ -186,8 +188,8 @@ function json2xml() { var sectionTitle = createElementWithText(xmlDoc, sectionElement, 'Text', tempSection['section_title']); var sectionDesc = createElementWithText(xmlDoc, sectionElement, 'Subtext', tempSection['section_description']); var sectionMarks = createElementWithText(xmlDoc, sectionElement, 'Marks', tempSection['section_marks']); - var sectionMarks = createElementWithText(xmlDoc, sectionElement, 'DisplayMarks', (tempSection['section_display_marks'] === true ? 'true' : 'false')); - var sectionMarks = createElementWithText(xmlDoc, sectionElement, 'AttemptAny', tempSection['section_attempt_any']); + var sectionDisplayMark = createElementWithText(xmlDoc, sectionElement, 'DisplayMarks', (tempSection['section_display_marks'] === true ? 'true' : 'false')); + var sectionAttempAny = createElementWithText(xmlDoc, sectionElement, 'AttemptAny', tempSection['section_attempt_any']); var sectionItemElement = createElementWithText(xmlDoc, sectionElement, 'Items', '', ); diff --git a/mark_calc.js b/mark_calc.js index 4de98fa..311cc3d 100644 --- a/mark_calc.js +++ b/mark_calc.js @@ -4,34 +4,54 @@ function markCalculation() { // Get jsonData from the Localstorage var jsonString = localStorage.getItem('JSON_FOR_NAV'); - console.log('jsonData markCalculation'); + // console.log('jsonData markCalculation'); const jsonData = JSON.parse(jsonString); - console.log(jsonData); + // console.log(jsonData); //Section Level foreach jsonData.sections.forEach(function(section, index) { - const random_no = Date.now(); var sectionMarks = section.section_marks; var sectionAttemptAny = section.section_attempt_any; var section_id = section.section_id; - console.log('sectionMarks : ' + sectionMarks); - console.log('sectionAttemptAny : ' + sectionAttemptAny); - console.log('section_id : ' + section_id); + // console.log('sectionMarks : ', sectionMarks); + // console.log('sectionAttemptAny : ', sectionAttemptAny); + // console.log('#########################################################################'); - //send a object for generateSingleQuestions() function using foreach and mark calc - var QuestionObjects = { - - 'sectionData': section, - 'sectionRandomNo': random_no, - 'sectionMarks': sectionMarks, - 'sectionAttemptAny': sectionAttemptAny, + + var sectionRandomID = section_id.split("_")[3]; + var Section_Marks = document.getElementById('Section_Marks_Id_'+ sectionRandomID); + + //condition for disable and enable Section Marks field + if(sectionAttemptAny == "") + { + Section_Marks.disabled = true; + + } + else + { + Section_Marks.disabled = false; } - // generateSingleQuestions(section,random_no); - generateSingleQuestions(QuestionObjects); + + //send a object for generateSingleQuestions() function using foreach and mark calc + var ParentObjects = { + + 'questionData' : section, + 'parentMarks' : sectionMarks, + 'parentAttemptAny' : sectionAttemptAny, + } + + var returnvalue = generateSingleQuestions(ParentObjects); + console.log('returnvalue of child sum in section : ' , returnvalue); + + if(sectionAttemptAny == "") + { + Section_Marks.value = returnvalue; + + } }); @@ -40,33 +60,21 @@ function markCalculation() { //Function for Question Level foreach -// function generateSingleQuestions(section, random_no) -function generateSingleQuestions(QuestionObjects) +function generateSingleQuestions(ParentObjects) { - //set default value for reciveing questionObjects - var section = false; - var random_no = false; - - //end of set default value for reciveing questionObjects - + var questionData = false; //set default value for reciveing questionObjects //set values from QuestionObjects param if exists - - if(QuestionObjects.hasOwnProperty('sectionData')) + if(ParentObjects.hasOwnProperty('questionData')) { - section = QuestionObjects.sectionData; - } - else if(QuestionObjects.hasOwnProperty('sectionRandomNo')) - { - random_no = QuestionObjects.sectionRandomNo; + questionData = ParentObjects.questionData; } + + var childMarks = 0; - //end of set values from QuestionObjects param if exists - - - section.questions.forEach(function(Question, index) { + //Questions Foreach Start + questionData.questions.forEach(function(Question, index) { - const questionRandomNo = Date.now(); var questionTypeFormets = ""; if(Question.question_type) { @@ -82,91 +90,97 @@ function generateSingleQuestions(QuestionObjects) var questionMarks = Question.marks; var question_Id = Question.question_Id; - // section mark divided by section attempt any + console.log('questionType : ' , questionType); + console.log('questionMarks : ' , questionMarks); + console.log('##########################################################'); + + + var parentMarks = ParentObjects.parentMarks; + var parentAttemptAny = ParentObjects.parentAttemptAny; + var MarkDivideValue = parentMarks / parentAttemptAny; + + // console.log('parentMarks : ', parentMarks); + // console.log('new_parentAttemptAny : ', parentAttemptAny); + // console.log('new_Child_Mark_DivideValue : ', MarkDivideValue); + // console.log('################################################################################'); - var sectionMarks = QuestionObjects.sectionMarks; - var sectionAttemptAny = QuestionObjects.sectionAttemptAny; - var sectionMarkDivideVale = sectionMarks / sectionAttemptAny; //end of section mark divided by section attempt any + var QuestionMarkField = ""; - - var questionAreaId = 'question_area_'+random_no; if(questionType == 'text') { - //this part for Text question only - var addTextQuestionId = question_Id.split("_")[1]; - var textQuestionMarkField = document.getElementById('Text_Question_Marks_Id_'+ addTextQuestionId); - - if(QuestionObjects.sectionAttemptAny !== "") - { - textQuestionMarkField.value = sectionMarkDivideVale; - } - else - { - textQuestionMarkField.value = ""; - } - + var QuestionId = question_Id.split("_")[1]; + QuestionMarkField = document.getElementById('Text_Question_Marks_Id_'+ QuestionId); + onlyQuestionMarks = questionMarks !== undefined && questionMarks !== "" ? questionMarks : 0; + var questionMarksINT = parseInt(onlyQuestionMarks, 10); + childMarks = childMarks + questionMarksINT; } - else if (questionType == 'group') - { - //this part for Choice question only - var addChoiceAreaId = question_Id.split("_")[1]; - var choiceQuestionMarkField = document.getElementById('Choice_Question_Marks_Id_' + addChoiceAreaId); - - if(QuestionObjects.sectionAttemptAny !== "") - { - console.log(choiceQuestionMarkField); - choiceQuestionMarkField.value = sectionMarkDivideVale; - choiceQuestionMarkField.disable = true; - - } - else - { - choiceQuestionMarkField.value = ""; - } - - + else if(questionType == 'group') + { + var QuestionId = question_Id.split("_")[1]; + QuestionMarkField = document.getElementById('Choice_Question_Marks_Id_' + QuestionId); + onlyQuestionMarks = questionMarks !== undefined && questionMarks !== "" ? questionMarks : 0; + var questionMarksINT = parseInt(onlyQuestionMarks, 10); + childMarks = childMarks + questionMarksINT; } - else if (questionType == 'question_group') + + + if (questionType == 'question_group') { - //the objects contain QuestionGroup Data for send generateGroupQuestion() + //the objects contain QuestionGroup Data for send generateGroupQuestions() var QuestionGroupObjects = { 'questionGroupData': Question, - 'sectionMarks': sectionMarkDivideVale, - 'sectionAttemptAny': QuestionObjects.sectionAttemptAny, + 'parentMarks' : MarkDivideValue, + 'parentAttemptAny' : ParentObjects.parentAttemptAny, } - generateGroupQuestion(QuestionGroupObjects); //function for forEach QuestionGroups and Questions - + var returnValue = generateGroupQuestions(QuestionGroupObjects); //function for forEach QuestionGroups and Questions + onlyQuestionMarks = returnValue !== undefined && returnValue !== "" ? returnValue : 0; + var questionGroupMarksINT = parseInt(onlyQuestionMarks, 10); + childMarks = childMarks + questionGroupMarksINT; + } + else + { + if(ParentObjects.parentAttemptAny !== "") + { + QuestionMarkField.value = MarkDivideValue; + QuestionMarkField.disabled = true; + } + else + { + QuestionMarkField.disabled = false; + } } + + //sum the child marks to set parent + + }) +//End of Questions Foreach + +console.log('ChildMarks sum in Questions: ', childMarks); +return childMarks; + } - - // function for QuestionGroups and QuestionGroup questions Level Foreach -// function generateGroupQuestion(Question, questionRandomNo) -function generateGroupQuestion(QuestionGroupObjects) +function generateGroupQuestions(QuestionGroupObjects) { - - //set default value for reciveing questionObjects var Question = false; - //end of set default value for reciveing questionObjects //set values from QuestionObjects param if exists - if(QuestionGroupObjects.hasOwnProperty('questionGroupData')) { Question = QuestionGroupObjects.questionGroupData; @@ -179,59 +193,68 @@ function generateGroupQuestion(QuestionGroupObjects) var group_marks = Question.group_marks; var group_attempt_any = Question.group_attempt_any; var question_group_id = Question.question_group_id; + //end of QuestionGroup Variables + + // console.log('old_group_marks : ', group_marks); + // console.log('old_group_attempt_any : ', group_attempt_any); + // console.log('################################################################################'); + + - console.log(question_group_id); - - + //Section AttemptAny for first level QuestionGroup var QuestionGroup_ID = question_group_id.split("_")[3]; var Question_Group_Marks_Field = document.getElementById('Question_Group_Marks_Id_' + QuestionGroup_ID); - console.log(Question_Group_Marks_Field); - if(QuestionGroupObjects.sectionAttemptAny !== "") + if(QuestionGroupObjects.parentAttemptAny !== "" ) { - // alert(QuestionGroupObjects.sectionMarks) - Question_Group_Marks_Field.value = QuestionGroupObjects.sectionMarks; + Question_Group_Marks_Field.value = QuestionGroupObjects.parentMarks !== undefined ? QuestionGroupObjects.parentMarks : ''; + group_marks= QuestionGroupObjects.parentMarks !== undefined ? QuestionGroupObjects.parentMarks : ''; //set the new value of group-marks using the divided value of parent marks + Question_Group_Marks_Field.disabled = true; + } else { - Question_Group_Marks_Field.value = ""; + Question_Group_Marks_Field.disabled = false; + } - console.log('group_marks : ' + group_marks); - console.log('group_attempt_any : ' + group_attempt_any); - console.log('question_group_id : ' + question_group_id); + //condition for disable and enable QuestionGroup Marks field + if(group_attempt_any == "") + { + Question_Group_Marks_Field.disabled = true; + } + else + { + Question_Group_Marks_Field.disabled = false; + } + - // QuestionGroup question Level Foreach - Question.questions.forEach(function(GroupQuestions, index) { - - const QuestionGroupRandomNo = Date.now(); - - //QuestionGroup Questions Variables - var group_question_Type = GroupQuestions.question_type; - var group_question_marks = GroupQuestions.marks; - var group_question_id = GroupQuestions.question_Id; - - // var questionGroupId = 'group_question_area_'+questionRandomNo; - - if(group_question_Type == 'text') - { - console.log('group_question_Type : ' + group_question_Type); - console.log('group_question_marks : ' + group_question_marks); - console.log('group_question_id : ' + group_question_id); - } - else if(group_question_Type == 'group') - { - console.log('group_question_Type : ' + group_question_Type); - console.log('group_question_marks : ' + group_question_marks); - console.log('group_question_id : ' + group_question_id); - - } - else - { - generateGroupQuestion(GroupQuestions, questionGroupId, QuestionGroupRandomNo); // function for 4 level QuestionGroup Handle - } + var QuestionGroupObjects = { - }); + 'questionData' : Question, + 'parentMarks' : group_marks, + 'parentAttemptAny': group_attempt_any, + + } + + + var returnvalue = generateSingleQuestions(QuestionGroupObjects); + console.log('ReturnValue of child sum in questionGroup: ' , returnvalue); + + if(returnvalue) + { + if(group_attempt_any == "") + { + Question_Group_Marks_Field.value = returnvalue; + group_marks = returnvalue; + } + + } + + + return group_marks; + + } diff --git a/nav_pane.js b/nav_pane.js index 940ed37..ddc5a72 100644 --- a/nav_pane.js +++ b/nav_pane.js @@ -116,7 +116,7 @@ function navpane() { // nodeDiv.id = nodeData.textQuestion_Id || nodeData.choice_question_id; const nodeDataId = nodeData.question_Id - console.log('nodeDataId:',nodeDataId); + // console.log('nodeDataId:',nodeDataId); @@ -241,8 +241,8 @@ function navpane() { createTreeWithHeading(jsonData, questionPaperContainer); localStorage.setItem("collapse", JSON.stringify((expandedSections))); - console.log('expandedSections:',expandedSections); - console.log('questionPaperContainer:',questionPaperContainer); + // console.log('expandedSections:',expandedSections); + // console.log('questionPaperContainer:',questionPaperContainer); window.addEventListener('DOMContentLoaded', event => { // Toggle the side navigation diff --git a/xml2json.js b/xml2json.js index c13e16b..d393492 100644 --- a/xml2json.js +++ b/xml2json.js @@ -29,7 +29,7 @@ function getQuestionsNodes(questionNode,type) questionObj['question_type'] = 'text'; questionObj['attributes'] = getAttributesOfXMLNode(questionNode); questionObj['question_sub_type'] = 'false'; - questionObj['marks'] = questionNode.childNodes[2].firstChild.nodeValue; + questionObj['marks'] = (questionNode.childNodes[2].firstChild !== null ? questionNode.childNodes[2].firstChild.nodeValue : ""); questionObj['display_marks'] = questionNode.childNodes[3].firstChild.nodeValue; questionObj['is_math_enabled'] = questionNode.childNodes[4].firstChild.nodeValue; @@ -41,7 +41,7 @@ function getQuestionsNodes(questionNode,type) questionObj['question_type'] = 'group'; questionObj['attributes'] = getAttributesOfXMLNode(questionNode); questionObj['question_sub_type'] = questionNode.childNodes[5].firstChild.nodeValue; - questionObj['marks'] = questionNode.childNodes[2].firstChild.nodeValue; + questionObj['marks'] = (questionNode.childNodes[2].firstChild !== null ? questionNode.childNodes[2].firstChild.nodeValue : ""); questionObj['display_marks'] = questionNode.childNodes[3].firstChild.nodeValue; questionObj['is_math_enabled'] = questionNode.childNodes[4].firstChild.nodeValue; questionObj['answers'] = []; @@ -72,9 +72,9 @@ function getQuestionGroupNodes(questionGroup) questionGroupObj['group_title'] = questionGroup.childNodes[0].firstChild.nodeValue; questionGroupObj['group_description'] = (questionGroup.childNodes[1].firstChild !== null ? questionGroup.childNodes[1].firstChild.nodeValue : ""); - questionGroupObj['group_marks'] = questionGroup.childNodes[2].firstChild.nodeValue; + questionGroupObj['group_marks'] = (questionGroup.childNodes[2].firstChild !== null ? questionGroup.childNodes[2].firstChild.nodeValue : ""); questionGroupObj['group_display_marks'] = questionGroup.childNodes[3].firstChild.nodeValue; - questionGroupObj['group_attempt_any'] = questionGroup.childNodes[4].firstChild.nodeValue; + questionGroupObj['group_attempt_any'] = (questionGroup.childNodes[4].firstChild !== null ? questionGroup.childNodes[4].firstChild.nodeValue : ""); questionGroupObj['attributes'] = getAttributesOfXMLNode(questionGroup); questionGroupObj['questions'] = []; //handle questions @@ -120,17 +120,18 @@ jsonObj['sections'] = []; sectionsList = xmlDoc.getElementsByTagName("Items")[0].childNodes; - // console.log(sectionsList); - // console.log('no of sections:'+sectionsList.length); - for (let i = 0; i < sectionsList.length ;i++) { + console.log(sectionsList); + console.log('no of sections:'+sectionsList.length); + //return false; + for (let i = 0; i < (sectionsList.length) ;i++) { var tempObj = {}; - // console.log('Section :' + i + '-' + sectionsList[i].childNodes[0].firstChild.nodeValue); + console.log('Section :' + i + '-' + sectionsList[i].childNodes[0]); tempObj['section_title'] = sectionsList[i].childNodes[0].firstChild.nodeValue; tempObj['section_description'] = sectionsList[i].childNodes[1].firstChild.nodeValue; - tempObj['section_marks'] = sectionsList[i].childNodes[2].firstChild.nodeValue; + tempObj['section_marks'] = (sectionsList[i].childNodes[2].firstChild !== null ? sectionsList[i].childNodes[2].firstChild.nodeValue : ""); tempObj['section_display_marks'] = sectionsList[i].childNodes[3].firstChild.nodeValue; - tempObj['section_attempt_any'] = sectionsList[i].childNodes[4].firstChild.nodeValue; + tempObj['section_attempt_any'] = (sectionsList[i].childNodes[4].firstChild !== null && sectionsList[i].childNodes[4].firstChild !== undefined ? sectionsList[i].childNodes[4].firstChild.nodeValue : ""); tempObj['attributes'] = getAttributesOfXMLNode(sectionsList[i]); tempObj['questions'] = [];