C#按位置获取XML指定父节点下的rate节点值
按位置序号获取XML中mod节点的rate值
方法一:使用XmlDocument实现
// 加载XML文档 XmlDocument doc = new XmlDocument(); doc.Load("你的XML文件路径"); // 若XML是字符串形式,改用doc.LoadXml(XML内容字符串) // 获取root节点下所有mod节点的集合 XmlNodeList modNodes = doc.SelectNodes("/root/mod"); // 定位第2个mod节点(注意集合索引从0开始,所以取[1]) XmlNode targetMod = modNodes[1]; // 获取对应rate节点的内容 string rateValue = targetMod.SelectSingleNode("rate").InnerText; // 需要整数类型的话可转换:int rate = int.Parse(rateValue);
说明:SelectNodes("/root/mod")会严格按照XML文档的原始顺序返回所有mod节点,直接通过索引即可定位目标节点,再嵌套获取rate节点的内容。
方法二:使用XElement(LINQ to XML)实现
// 加载XML文档 XElement root = XElement.Load("你的XML文件路径"); // 若XML是字符串形式,改用XElement.Parse(XML内容字符串) // 定位第2个mod节点(ElementAt索引从0开始,所以取1) XElement targetMod = root.Elements("mod").ElementAt(1); // 获取对应rate节点的内容 string rateValue = targetMod.Element("rate").Value; // 需要整数类型的话可转换:int rate = int.Parse(rateValue);
说明:root.Elements("mod")会按文档顺序返回所有mod元素,ElementAt(n)直接取对应位置的元素,再通过Element("rate")获取子节点的值。
内容的提问来源于stack exchange,提问作者kdino
相关产品推荐
相关产品推荐

