public List <SQuiz> ImgOptionQuizDict = new List <SQuiz>(); // 이미지 객관식 추가 private void interpret2(string _strSource) { Debug.Log("KBY_1: " + _strSource); StringReader stringReader = new StringReader(_strSource); XmlNodeList xmlNodeList = null; XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(stringReader.ReadToEnd()); //부모 노드명 맞추기 xmlNodeList = xmlDoc.SelectNodes("Social_Quiz"); foreach (XmlNode node in xmlNodeList) { //부모 노드명 맞추기 if (node.Name.Equals("Social_Quiz") && node.HasChildNodes) { foreach (XmlNode child in node.ChildNodes) { // * 가 아니면 데이터값 게속 넣기 if (child.Attributes.GetNamedItem("id").Value != "*") { if (child.Attributes.GetNamedItem("Type").Value == "Option") { SQuiz squiz = new SQuiz(); squiz.Order = new List <String>(); squiz.Answer = new List <String>(); squiz.stage = int.Parse(child.Attributes.GetNamedItem("stage").Value); squiz.id = int.Parse(child.Attributes.GetNamedItem("id").Value); squiz.Text = child.Attributes.GetNamedItem("Text").Value; squiz.Type = child.Attributes.GetNamedItem("Type").Value; string optOrder = child.Attributes.GetNamedItem("Order").Value; string optAnswer = child.Attributes.GetNamedItem("answer").Value; string[] optOrder_str = optOrder.Split(','); string[] optAnswer_str = optAnswer.Split(','); for (int i = 0; i < optOrder_str.Length; i++) { squiz.Order.Add(optOrder_str[i]); } for (int i = 0; i < optAnswer_str.Length; i++) { squiz.Answer.Add(optAnswer_str[i]); } OptionQuizDict.Add(squiz); } else if (child.Attributes.GetNamedItem("Type").Value == "imgOption") { SQuiz squiz = new SQuiz(); squiz.Order = new List <String>(); squiz.Answer = new List <String>(); squiz.stage = int.Parse(child.Attributes.GetNamedItem("stage").Value); squiz.id = int.Parse(child.Attributes.GetNamedItem("id").Value); squiz.Text = child.Attributes.GetNamedItem("Text").Value; squiz.Type = child.Attributes.GetNamedItem("Type").Value; string _order = child.Attributes.GetNamedItem("Order").Value; string _answer = child.Attributes.GetNamedItem("answer").Value; string[] _answerArr = _answer.Split(','); string[] _orderArr = _order.Split(','); for (int i = 0; i < _orderArr.Length; i++) { squiz.Order.Add(_orderArr[i]); Debug.Log("squiz.Order[i]: " + squiz.Order[i]); } for (int i = 0; i < _answerArr.Length; i++) { squiz.Answer.Add(_answerArr[i]); Debug.Log("Asnsdwer : " + squiz.Answer[i]); } ImgOptionQuizDict.Add(squiz); } else if (child.Attributes.GetNamedItem("Type").Value == "Typing1") { SQuiz squiz = new SQuiz(); squiz.Order = new List <String>(); squiz.Answer = new List <String>(); squiz.stage = int.Parse(child.Attributes.GetNamedItem("stage").Value); squiz.id = int.Parse(child.Attributes.GetNamedItem("id").Value); squiz.Text = child.Attributes.GetNamedItem("Text").Value; squiz.Type = child.Attributes.GetNamedItem("Type").Value; //string typTmp_O = string.Empty; //string typTmp_A = string.Empty; ////한 글자씩 찍는 것이 아니게 하기 위해 string에 행의 문자길이만큼 추가 //foreach (char typOrder1 in child.Attributes.GetNamedItem("Order").Value.ToCharArray()) //{ // typTmp_O += typOrder1.ToString(); //} //foreach (char txt in child.Attributes.GetNamedItem("answer").Value.ToCharArray()) //{ // typTmp_A += txt.ToString(); //} ////구조체 squiz의 order와 answer에 각각 추가 //squiz.Order.Add(typTmp_O); //squiz.Answer.Add(typTmp_A); string typTmp_O = child.Attributes.GetNamedItem("Order").Value; string typTmp_A = child.Attributes.GetNamedItem("answer").Value; squiz.Order.Add(typTmp_O); squiz.Answer.Add(typTmp_A); Typing1QuizDict.Add(squiz); } else if (child.Attributes.GetNamedItem("Type").Value == "Typing2") { SQuiz squiz = new SQuiz(); squiz.Order = new List <String>(); squiz.Answer = new List <String>(); squiz.stage = int.Parse(child.Attributes.GetNamedItem("stage").Value); squiz.id = int.Parse(child.Attributes.GetNamedItem("id").Value); squiz.Text = child.Attributes.GetNamedItem("Text").Value; squiz.Type = child.Attributes.GetNamedItem("Type").Value; string typ2Tmp_O = child.Attributes.GetNamedItem("Order").Value; string typ2Tmp_A = child.Attributes.GetNamedItem("answer").Value; squiz.Order.Add(typ2Tmp_O); squiz.Answer.Add(typ2Tmp_A); Typing2QuizDict.Add(squiz); } else if (child.Attributes.GetNamedItem("Type").Value == "Link") { SQuiz squiz = new SQuiz(); squiz.Order = new List <string>(); squiz.Answer = new List <string>(); squiz.left = new List <string>(); squiz.right = new List <string>(); squiz.stage = int.Parse(child.Attributes.GetNamedItem("stage").Value); squiz.id = int.Parse(child.Attributes.GetNamedItem("id").Value); squiz.Text = child.Attributes.GetNamedItem("Text").Value; squiz.Type = child.Attributes.GetNamedItem("Type").Value; string linkTmp_O = child.Attributes.GetNamedItem("Order").Value; string linkTmp_A = child.Attributes.GetNamedItem("answer").Value; string linkTmp_l = child.Attributes.GetNamedItem("left").Value; string linkTmp_r = child.Attributes.GetNamedItem("right").Value; squiz.Order.Add(linkTmp_O); squiz.Answer.Add(linkTmp_A); squiz.left.Add(linkTmp_l); squiz.right.Add(linkTmp_r); LinkQuizDict.Add(squiz); } else if (child.Attributes.GetNamedItem("Type").Value == "Link2") { SQuiz squiz = new SQuiz(); squiz.Order = new List <String>(); squiz.Answer = new List <String>(); squiz.stage = int.Parse(child.Attributes.GetNamedItem("stage").Value); squiz.id = int.Parse(child.Attributes.GetNamedItem("id").Value); squiz.Text = child.Attributes.GetNamedItem("Text").Value; squiz.Type = child.Attributes.GetNamedItem("Type").Value; string link2_order = child.Attributes.GetNamedItem("Order").Value; string link2_answer = child.Attributes.GetNamedItem("answer").Value; squiz.Order.Add(link2_order); squiz.Answer.Add(link2_answer); Link2QuizDict.Add(squiz); } else if (child.Attributes.GetNamedItem("Type").Value == "imgLink") { SQuiz squiz = new SQuiz(); squiz.Order = new List <String>(); squiz.Answer = new List <string>(); squiz.left = new List <string>(); squiz.right = new List <string>(); squiz.stage = int.Parse(child.Attributes.GetNamedItem("stage").Value); squiz.id = int.Parse(child.Attributes.GetNamedItem("id").Value); squiz.Text = child.Attributes.GetNamedItem("Text").Value; squiz.Type = child.Attributes.GetNamedItem("Type").Value; string imgLink_Order = child.Attributes.GetNamedItem("Order").Value; string imgLink_Answer = child.Attributes.GetNamedItem("answer").Value; string imgLink_left = child.Attributes.GetNamedItem("left").Value; string imgLink_right = child.Attributes.GetNamedItem("right").Value; string[] _imgLinkStr1 = imgLink_Order.Split(','); string[] _imgLinkStr2 = imgLink_Answer.Split(','); string[] _imgLinkStr3 = imgLink_left.Split(','); string[] _imgLinkStr4 = imgLink_right.Split(','); for (int i = 0; i < _imgLinkStr1.Length; i++) { squiz.Order.Add(_imgLinkStr1[i]); } for (int i = 0; i < _imgLinkStr2.Length; i++) { squiz.Answer.Add(_imgLinkStr2[i]); } for (int i = 0; i < _imgLinkStr3.Length; i++) { squiz.left.Add(_imgLinkStr3[i]); } for (int i = 0; i < _imgLinkStr4.Length; i++) { squiz.right.Add(_imgLinkStr4[i]); } ImgLinkQuizDict.Add(squiz); } else if (child.Attributes.GetNamedItem("Type").Value == "puzzle") { SQuiz squiz = new SQuiz(); squiz.Order = new List <String>(); squiz.Answer = new List <string>(); squiz.stage = int.Parse(child.Attributes.GetNamedItem("stage").Value); squiz.id = int.Parse(child.Attributes.GetNamedItem("id").Value); squiz.Text = child.Attributes.GetNamedItem("Text").Value; squiz.Type = child.Attributes.GetNamedItem("Type").Value; string _puzzle_Order = child.Attributes.GetNamedItem("Order").Value; string _puzzle_Answer = child.Attributes.GetNamedItem("answer").Value; string[] puzzOrder_str = _puzzle_Order.Split(','); string[] puzzAnswer_str = _puzzle_Answer.Split(','); for (int i = 0; i < puzzOrder_str.Length; i++) { squiz.Order.Add(puzzOrder_str[i]); } for (int i = 0; i < puzzAnswer_str.Length; i++) { squiz.Answer.Add(puzzAnswer_str[i]); } puzzleQuizDict.Add(squiz); } } } } } }
private void interpret2(string _strSource) { StringReader stringReader = new StringReader(_strSource); XmlNodeList xmlNodeList = null; XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(stringReader.ReadToEnd()); xmlNodeList = xmlDoc.SelectNodes("Social_Quiz"); foreach (XmlNode node in xmlNodeList) { if (node.Name.Equals("Social_Quiz") && node.HasChildNodes) { foreach (XmlNode child in node.ChildNodes) { if (child.Attributes.GetNamedItem("id").Value != "*") { if (child.Attributes.GetNamedItem("Type").Value == "Option") { SQuiz squiz = new SQuiz(); squiz.stage = int.Parse(child.Attributes.GetNamedItem("stage").Value); squiz.id = int.Parse(child.Attributes.GetNamedItem("id").Value); squiz.Text = child.Attributes.GetNamedItem("Text").Value; squiz.Type = child.Attributes.GetNamedItem("Type").Value; squiz.Order = child.Attributes.GetNamedItem("Order").Value; squiz.Answer = child.Attributes.GetNamedItem("answer").Value; OptionQuizDict.Add(squiz); } else if (child.Attributes.GetNamedItem("Type").Value == "Typing1") { SQuiz squiz = new SQuiz(); squiz.stage = int.Parse(child.Attributes.GetNamedItem("stage").Value); squiz.id = int.Parse(child.Attributes.GetNamedItem("id").Value); squiz.Text = child.Attributes.GetNamedItem("Text").Value; squiz.Type = child.Attributes.GetNamedItem("Type").Value; squiz.Order = child.Attributes.GetNamedItem("Order").Value; squiz.Answer = child.Attributes.GetNamedItem("answer").Value; Typing1QuizDict.Add(squiz); } else if (child.Attributes.GetNamedItem("Type").Value == "Typing2") { SQuiz squiz = new SQuiz(); squiz.stage = int.Parse(child.Attributes.GetNamedItem("stage").Value); squiz.id = int.Parse(child.Attributes.GetNamedItem("id").Value); squiz.Text = child.Attributes.GetNamedItem("Text").Value; squiz.Type = child.Attributes.GetNamedItem("Type").Value; squiz.Order = child.Attributes.GetNamedItem("Order").Value; squiz.Answer = child.Attributes.GetNamedItem("answer").Value; Typing2QuizDict.Add(squiz); } else if (child.Attributes.GetNamedItem("Type").Value == "Link") { SQuiz squiz = new SQuiz(); squiz.stage = int.Parse(child.Attributes.GetNamedItem("stage").Value); squiz.id = int.Parse(child.Attributes.GetNamedItem("id").Value); squiz.Text = child.Attributes.GetNamedItem("Text").Value; squiz.Type = child.Attributes.GetNamedItem("Type").Value; squiz.Order = child.Attributes.GetNamedItem("Order").Value; squiz.Answer = child.Attributes.GetNamedItem("answer").Value; LinkQuizDict.Add(squiz); } } } } } }