xml文件怎么打开
很幸运我还在坚持写这些无聊的文字,我并不知道能坚持多久,生活中的诱惑太多了,那种能让你爽的事情随处可见,以至于在每周7*24=168 个小时内居然挤不出一两个小时的时间写点自己的东西。
可能是自己写太费脑子吧!看别人写就轻松多了,以前我觉得写这种推文很简单,因为我浏览别人的文章时,几分钟就可以读完。直到自己弄了个公众号后才发现没那么简单,每写一篇推文就像被扒了一层皮一样难受,每次都是在煎熬中度过。
每次写推文时,选材、文字、细节等,都要花费好久好久。我想,对这种情况最好的解释应该是我的知识储备还不够,远没有达到收放自如的地步。
算了,不伤感了,进入正题吧!
上一篇推文向大家介绍了xml(Extensible Markup Language)可扩展标记语言的基本格式(用浏览器打开验证),这次我们来看看怎么用开发工具创建和读写xml文档。
开发工具:Microsoft Visual Studio 2008
学习步骤如下:
1、首先打开VS2008,创建一个新C#项目,如下图
其中名称、位置自己决定,点击确定将进入新的C#项目。
2、右击左侧“解决方案资源管理器”的空白处,“添加”,“新建项”,“代码”,“类”,填入类名,点击添加,如下图
3、在刚刚创建的类中添加命名空间 System.Xml; 并将该类声明成public类型。并添加两个函数,分别是创建XML文档、对XML文档的访问;如下图(文末有这两个函数的实现细节)
4、然后进入Program.cs文件,并将以上两个对XML文档操作的函数添加调用;如下图
5、最后调试运行程序,结果如下图:
图1 用浏览器打开以上程序创建的XML文档
图2 控制台输出读取的XML文档内容
6、程序源代码如下:
public void WriteXml()
{
// 实例化xml文档
XmlDocument xdoc = new XmlDocument();
// 文档声明
XmlDeclaration xdecl = xdoc.CreateXmlDeclaration(“1.0”, “utf-8”, “yes”);
// 将文档声明加载到文件
xdoc.AppendChild(xdecl);
// 添加根元素
XmlElement cars = xdoc.CreateElement(“cars”);
xdoc.AppendChild(cars);
// 1,创建一个子节点
XmlElement car1 = xdoc.CreateElement(“car”);
// 将子节点添加到其父节点内
cars.AppendChild(car1);
// 为子节点添加属性
car1.SetAttribute(“品牌”, “宝马”);
// 为子节点添加子节点
XmlElement type1 = xdoc.CreateElement(“type”);
XmlElement price1 = xdoc.CreateElement(“price”);
// 将次级子节点添加到其父节点内
car1.AppendChild(type1);
car1.AppendChild(price1);
// 为子节点的子节点添加值
type1.InnerText = “BMW 5系”;
price1.InnerText = “61000$”;
// 2,创建另一个子节点,步骤同1
XmlElement car2 = xdoc.CreateElement(“car”);
cars.AppendChild(car2);
car2.SetAttribute(“品牌”, “奔驰”);
XmlElement type2 = xdoc.CreateElement(“type”);
XmlElement price2 = xdoc.CreateElement(“price”);
car2.AppendChild(type2);
car2.AppendChild(price2);
type2.InnerText = “奔驰E级”;
price2.InnerText = “71000$”;
// 3,创建第三个子节点
XmlElement car3 = xdoc.CreateElement(“car”);
cars.AppendChild(car3);
car3.SetAttribute(“品牌”, “劳斯莱斯”);
XmlElement type3 = xdoc.CreateElement(“type”);
XmlElement price3 = xdoc.CreateElement(“price”);
car3.AppendChild(type3);
car3.AppendChild(price3);
type3.InnerText = “劳斯莱斯·幻影”;
price3.InnerText = “1200000$”;
// 保存文档
xdoc.Save(“Cars.xml”);
}
public void ReadXml()
{
// 实例化操作对象
XmlDocument xdoc = new XmlDocument();
// 加载待读取的文件
xdoc.Load(“Cars.xml”);
// 获取根节点
XmlElement cars = xdoc.DocumentElement;
// 获取根节点的所有子节点
XmlNodeList firstNodeList = cars.ChildNodes;
// 循环获取子节点
foreach (XmlNode firstNode in firstNodeList)
{
XmlElement elem = (XmlElement)firstNode;
string grand = elem.GetAttribute(“品牌”);
//
Console.WriteLine(grand);
XmlNodeList secondNodeList = firstNode.ChildNodes;
// 再次循环该节点的子节点
foreach (XmlNode secondNode in secondNodeList)
{
string key = secondNode.Name;
string value = secondNode.InnerText;
Console.WriteLine(key + “:” + value);
}
}
}
7、看到这里,或许你可能还是没弄明白,我知道我的表达能力还不够好,所以我为你找到了更好的学习方式,在bilibili上有免费且详细的视频讲解:https://www.bilibili.com/video/av28639475?t=3078
江湖路远 有缘再见
给个关注吧,那样下次江湖再见时,你便能认得我了