XML學習筆記--未完待續
阿新 • • 發佈:2022-04-11
XML文件建立流程圖
建立XML文件程式碼
/// <summary> /// 建立XML文件 /// </summary> public void CreateXmlDocument(ListBox listBox) { listBox.Items.Clear(); Random random = new Random(); XmlDocument doc = new XmlDocument(); XmlDeclaration declaration = doc.CreateXmlDeclaration("1.0", "UTF-8", "yes"); doc.AppendChild(declaration); XmlElement root = doc.CreateElement("students"); doc.AppendChild(root); for (int i = 0; i < 10; i++) { listBox.Items.Add($"新增:劉小強-{i}"); XmlElement element1 = doc.CreateElement("student"); root.AppendChild(element1); element1.SetAttribute("姓名", $"劉小強-{i}"); element1.SetAttribute("學號", (10000 + i).ToString()); XmlElement element1_1 = doc.CreateElement("語文成績"); element1.AppendChild(element1_1); element1_1.InnerText = random.Next(50, 100).ToString(); XmlElement element1_2 = doc.CreateElement("數學成績"); element1.AppendChild(element1_2); element1_2.InnerText = random.Next(50, 100).ToString(); XmlElement element1_3 = doc.CreateElement("外語成績"); element1.AppendChild(element1_3); element1_3.InnerText = random.Next(50, 100).ToString(); } doc.Save("students.xml"); listBox.Items.Add("----------"); listBox.Items.Add("建立成功..."); }
讀取XML文件程式碼
/// <summary> /// 讀取XML文件 /// </summary> public void ReadXmlDocument(ListBox listBox) { listBox.Items.Clear(); if (!File.Exists("students.xml")) return; XmlDocument doc = new XmlDocument(); doc.Load("students.xml"); XmlNode root = doc.SelectSingleNode("students"); XmlNodeList list = root.ChildNodes; foreach (XmlNode node in list) { XmlElement element = node as XmlElement; string name = element.GetAttribute("姓名"); listBox.Items.Add("姓名:"+name); string no = element.GetAttribute("學號"); listBox.Items.Add("學號:"+no); XmlNodeList childList = node.ChildNodes; foreach (var childNode in childList) { XmlElement childElement = childNode as XmlElement; string score = childElement.Name + ":" + childElement.InnerText; listBox.Items.Add(score); } listBox.Items.Add("----------"); } listBox.Items.Add("----------"); listBox.Items.Add("讀取成功..."); } }
創建出的XML
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <students> <student 姓名="劉小強-0" 學號="10000"> <語文成績>59</語文成績> <數學成績>54</數學成績> <外語成績>93</外語成績> </student> <student 姓名="劉小強-1" 學號="10001"> <語文成績>86</語文成績> <數學成績>91</數學成績> <外語成績>94</外語成績> </student> <student 姓名="劉小強-2" 學號="10002"> <語文成績>92</語文成績> <數學成績>92</數學成績> <外語成績>62</外語成績> </student> <student 姓名="劉小強-3" 學號="10003"> <語文成績>91</語文成績> <數學成績>85</數學成績> <外語成績>61</外語成績> </student> <student 姓名="劉小強-4" 學號="10004"> <語文成績>87</語文成績> <數學成績>71</數學成績> <外語成績>71</外語成績> </student> <student 姓名="劉小強-5" 學號="10005"> <語文成績>71</語文成績> <數學成績>79</數學成績> <外語成績>81</外語成績> </student> <student 姓名="劉小強-6" 學號="10006"> <語文成績>59</語文成績> <數學成績>77</數學成績> <外語成績>51</外語成績> </student> <student 姓名="劉小強-7" 學號="10007"> <語文成績>65</語文成績> <數學成績>86</數學成績> <外語成績>78</外語成績> </student> <student 姓名="劉小強-8" 學號="10008"> <語文成績>57</語文成績> <數學成績>61</數學成績> <外語成績>57</外語成績> </student> <student 姓名="劉小強-9" 學號="10009"> <語文成績>72</語文成績> <數學成績>88</數學成績> <外語成績>85</外語成績> </student> </students>
執行結果