**C#读xml配置文件与忽视注释部分**。
**方法一:**
string filepath =@"Xml.config";
if (File.Exists(filepath))
{
**XmlDocument xmlDoc = new XmlDocument();
XmlReaderSettings settings = new XmlReaderSettings();
settings.IgnoreComments = true;**
**XmlReader reader = XmlReader.Create(filepath, settings);**
xmlDoc.Load(reader);
XmlNodeList nodeList = xmlDoc.SelectSingleNode("xxx").ChildNodes;
foreach (XmlNode xe in nodeList)
{
XmlElement xeElement = (XmlElement)xe;
XmlNode node = xe.SelectSingleNode("xxx");
string str = node.InnerText;
}
}
**方法二:**
string path = "mxml.xml";
//对象,加载文件。
XDocument xdoc = XDocument.Load(path);
// Console.WriteLine(xdoc.Root);//获取根元素。
**XElement xele = xdoc.Root;//根元素。**
//获取根元素下的所有子元素。
**IEnumerable eles = xele.Elements();**
foreach (XElement eleClass in eles)
{
//获取根元素下的子元素的名字。
// Console.Write(eleClass.Name);
foreach (XElement itemStudent in **eleClass.Elements()**)
{
Console.WriteLine(itemStudent.Attribute("id").Value);
Console.WriteLine(itemStudent.Element("name").Value);
Console.WriteLine(itemStudent.Element("gender").Value);
Console.WriteLine(itemStudent.Element("age").Value);
}
}
附上:xml配置文件
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190701182206574.PNG?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NjQ2OTQ5,size_16,color_FFFFFF,t_70)
方法三:
1)、配置文件:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190729173832160.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NjQ2OTQ5,size_16,color_FFFFFF,t_70)
2)、Skill类
class Skill
{
public int Id { get; set; }
public string Name { get; set; }
public string Lang { get; set; }
public int damage { get; set; }
public override string ToString()
{
return **string.Format**("Id:{0},Name:{1},Lang:{2},Damage:{3}