csharp,using System;,using System.Xml;,,class Program,{, static void Main(), {, XmlDocument doc = new XmlDocument();, doc.Load("example.xml");, XmlNodeList nodes = doc.GetElementsByTagName("example");, foreach (XmlNode node in nodes), {, Console.WriteLine(node.InnerText);, }, },},
“C 读取 XML 文件内容
XML(可扩展标记语言)是一种用于存储和传输数据的标记语言,它可以表示结构化数据,在 C 中,我们可以使用 System.Xml 命名空间中的类来读取和操作 XML 文件,本文将介绍如何使用 C 读取 XML 文件内容。
使用 XmlDocument 类
XmlDocument 类是 System.Xml 命名空间中的一个类,它表示整个 XML 文档,我们可以使用 XmlDocument 类的 Load() 方法从文件中加载 XML 文档,然后使用 SelectSingleNode()、SelectNodes() 和 SelectSingleElement() 方法来查询 XML 文档中的节点。
以下是一个简单的示例:
using System; using System.Xml; class Program { static void Main() { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load("example.xml"); // 从文件中加载 XML 文档 XmlNodeList nodeList = xmlDoc.SelectNodes("//book"); // 查询所有的 book 节点 foreach (XmlNode node in nodeList) { Console.WriteLine("书名: " + node["title"].InnerText); Console.WriteLine("作者: " + node["author"].InnerText); Console.WriteLine("价格: " + node["price"].InnerText); Console.WriteLine(); } } }
使用 XPathNavigator 类
XPathNavigator 类是 System.Xml.XPath 命名空间中的一个类,它表示 XML 文档中的一个节点,我们可以使用 XPathNavigator 类的方法来遍历 XML 文档中的节点。
以下是一个简单的示例:
using System; using System.Xml; using System.Xml.XPath; class Program { static void Main() { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load("example.xml"); // 从文件中加载 XML 文档 XPathNavigator navigator = xmlDoc.CreateNavigator(); // 创建一个 XPathNavigator 对象 navigator.MoveToRoot(); // 将导航器移动到根节点 navigator.MoveToChild("book"); // 将导航器移动到第一个 book 节点 while (!navigator.IsEOF) // 当导航器没有到达文档末尾时循环 { string title = navigator.Value; // 获取书名节点的值并赋给变量 title Console.WriteLine("书名: " + title); navigator.MoveToNext(); // 将导航器移动到下一个兄弟节点 } } }
使用 XElement 类和 LINQ to XML API(LINQ)
XElement 类是 System.Xml.Linq 命名空间中的一个类,它表示 XML 文档中的一个元素,我们可以使用 XElement 类和 LINQ to XML API(LINQ)来查询和操作 XML 文档。
以下是一个简单的示例:
using System; using System.Collections.Generic; using System.Linq; using System.Xml.Linq; class Program { static void Main() { XDocument doc = XDocument.Load("example.xml"); // 从文件中加载 XML 文档 List<string> titles = doc.Descendants("book") // 查询所有 book 元素的书名节点的值并存储在一个列表中 .Select(x => x.Element("title").Value) .ToList(); foreach (string title in titles) { Console.WriteLine("书名: " + title); } } }
相关问题与解答
1、如何处理 XML 文档中的命名空间?答:在查询 XML 文档时,需要使用带有命名空间前缀的标签,如果有以下 XML 文档:
<books xmlns="http://example.com/books"> <book>Book One</book> </books>
原创文章,作者:酷盾叔,如若转载,请注明出处:https://www.kdun.com/ask/122238.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复