<Root>
<Phone Name="Oppo手机">
<BackGround Description="颜色">白色 黑色 玫瑰色 金色</BackGround>
<Price Description="价格"></Price>
</Phone>
<Phone Name="Vivo手机">
<BackGround Description="颜色">白色 黑色 </BackGround>
<Price Description="价格"></Price>
</Phone>
<Phone Name="小米手机">
<BackGround Description="颜色">白色 黑色 </BackGround>
<Price Description="价格"></Price>
</Phone>
<Phone Name="锤子手机">
<BackGround Description="颜色">银色 黑色 酒红 金色 </BackGround>
<Price Description="价格"></Price>
</Phone>
</Root>
public void ReaderXml()
{
try
{
//声明StringReader传入Xml文本,作为XmlReader.Create的参数
using (StreamReader strReader = new StreamReader(xmlPath))
{
//通过XmlReader.Create静态方法创建XmlReader实例
using (XmlReader item = XmlReader.Create(strReader))
{
//循环Read方法直到文档结束
while (item.Read())
{ //如果不是xml元素则跳过
if (item.NodeType != XmlNodeType.Element) continue; //通过item.Name得到节点名
string elementName = item.Name;
if (elementName == "Root") continue; if (elementName == "Phone")
{
var name = item.GetAttribute("Name");
Console.WriteLine($"一级节点的属性:{name}"); if (item.Read())
{
Console.WriteLine($"一级节点的值:{item.Value}");
}
}
else if (elementName == "BackGround")
{
var name = item.GetAttribute("Description");
Console.WriteLine($"二级节点手机的属性:{name}");
if (item.Read())
{
Console.WriteLine($"二级节点手机的值:{item.Value}");
}
}
else if (elementName == "Price")
{
var name = item.GetAttribute("Description");
Console.WriteLine($"二级节点的属性:{name}");
if (item.Read())
{
Console.WriteLine($"二级节点的值:{item.Value}");
}
} }
}
} }
catch (Exception e)
{
Console.WriteLine(e);
throw;
}
}