需求如下:
现在我的界面上有10个按钮,这10个按钮分别是打开不同的应用程序
由于我程序安装的位置都是不统一的,所有需要用户自己去找下 然后配置进XML中。
求一个DEMO
C#语言
1、你这个只是读写xml的代码,百度一搜一大片。
2、你求DEMO,然而却没说是什么语言。
人不说了c#语言吗?
@IT民工-杰: 那是我回复之后修改的好么!!!
1 public class XmlHelper 2 { 3 #region 增、删、改操作 4 /// <summary> 5 /// 追加节点 6 /// </summary> 7 /// <param name="filePath">XML文档绝对路径</param> 8 /// <param name="xPath">范例: @"Skill/First/SkillItem"</param> 9 /// <param name="xmlNode">XmlNode节点</param> 10 /// <returns></returns> 11 public static bool AppendChild(string filePath, string xPath, XmlNode xmlNode) 12 { 13 try 14 { 15 XmlDocument doc = new XmlDocument(); 16 doc.Load(filePath); 17 XmlNode xn = doc.SelectSingleNode(xPath); 18 XmlNode n = doc.ImportNode(xmlNode, true); 19 xn.AppendChild(n); 20 doc.Save(filePath); 21 return true; 22 } 23 catch 24 { 25 return false; 26 } 27 } 28 29 /// <summary> 30 /// 从XML文档中读取节点追加到另一个XML文档中 31 /// </summary> 32 /// <param name="filePath">需要读取的XML文档绝对路径</param> 33 /// <param name="xPath">范例: @"Skill/First/SkillItem"</param> 34 /// <param name="toFilePath">被追加节点的XML文档绝对路径</param> 35 /// <param name="toXPath">范例: @"Skill/First/SkillItem"</param> 36 /// <returns></returns> 37 public static bool AppendChild(string filePath, string xPath, string toFilePath, string toXPath) 38 { 39 try 40 { 41 XmlDocument doc = new XmlDocument(); 42 doc.Load(toFilePath); 43 XmlNode xn = doc.SelectSingleNode(toXPath); 44 45 XmlNodeList xnList = ReadNodes(filePath, xPath); 46 if (xnList != null) 47 { 48 foreach (XmlElement xe in xnList) 49 { 50 XmlNode n = doc.ImportNode(xe, true); 51 xn.AppendChild(n); 52 } 53 doc.Save(toFilePath); 54 } 55 return true; 56 } 57 catch 58 { 59 return false; 60 } 61 } 62 63 /// <summary> 64 /// 修改节点的InnerText的值 65 /// </summary> 66 /// <param name="filePath">XML文件绝对路径</param> 67 /// <param name="xPath">范例: @"Skill/First/SkillItem"</param> 68 /// <param name="value">节点的值</param> 69 /// <returns></returns> 70 public static bool UpdateNodeInnerText(string filePath, string xPath, string value) 71 { 72 try 73 { 74 XmlDocument doc = new XmlDocument(); 75 doc.Load(filePath); 76 XmlNode xn = doc.SelectSingleNode(xPath); 77 XmlElement xe = (XmlElement)xn; 78 xe.InnerText = value; 79 doc.Save(filePath); 80 } 81 catch 82 { 83 return false; 84 } 85 return true; 86 } 87 88 /// <summary> 89 /// 读取XML文档 90 /// </summary> 91 /// <param name="filePath">XML文件绝对路径</param> 92 /// <returns></returns> 93 public static XmlDocument LoadXmlDoc(string filePath) 94 { 95 try 96 { 97 XmlDocument doc = new XmlDocument(); 98 doc.Load(filePath); 99 return doc; 100 } 101 catch 102 { 103 return null; 104 } 105 } 106 #endregion 增、删、改操作 107 108 #region 扩展方法 109 /// <summary> 110 /// 读取XML的所有子节点 111 /// </summary> 112 /// <param name="filePath">XML文件绝对路径</param> 113 /// <param name="xPath">范例: @"Skill/First/SkillItem"</param> 114 /// <returns></returns> 115 public static XmlNodeList ReadNodes(string filePath, string xPath) 116 { 117 try 118 { 119 XmlDocument doc = new XmlDocument(); 120 doc.Load(filePath); 121 XmlNode xn = doc.SelectSingleNode(xPath); 122 XmlNodeList xnList = xn.ChildNodes; //得到该节点的子节点 123 return xnList; 124 } 125 catch 126 { 127 return null; 128 } 129 } 130 131 #endregion 扩展方法 132 }