今天学习了如何在c#中读取一个xml的属性值,看了很多种方法,还是最喜欢这种办法:利用xmldocument
试例xml:
<?xml version="1.0"?> <tasklist> <task id="1" name="lala" type="A" sdate="2021-01-01" fdate="2021-02-04" important="True" /> <task id="2" name="hehe" type="B" sdate="2021-01-04" fdate="2021-02-06" important="False" /> </tasklist>
代码如下:
XmlDocument doc = new XmlDocument(); doc.Load("info.xml"); if (doc == null){ MessageBox.Show("error"); return; } else { XmlElement root = doc.DocumentElement; XmlNodeList nodes = root.ChildNodes; foreach (XmlNode task in nodes) { MessageBox.Show(task.Attributes["id"].Value); } }
root是获取了xml的根节点tasklist,nodes是tasklist下所有的子节点(即两个task),Attributes["id"].Value则是id的属性值
之前在网上查的时候看见有大佬是用InnerText,我感觉只有在xml语句是以下这种格式的时候才能用:
<task> <id>1</id> </list>
这样的话直接task.InnerText就可输出1了