新聞中心
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 文件內(nèi)容

XML(可擴(kuò)展標(biāo)記語言)是一種用于存儲(chǔ)和傳輸數(shù)據(jù)的標(biāo)記語言,它可以表示結(jié)構(gòu)化數(shù)據(jù),在 C 中,我們可以使用 System.Xml 命名空間中的類來讀取和操作 XML 文件,本文將介紹如何使用 C 讀取 XML 文件內(nèi)容。
使用 XmlDocument 類
XmlDocument 類是 System.Xml 命名空間中的一個(gè)類,它表示整個(gè) XML 文檔,我們可以使用 XmlDocument 類的 Load() 方法從文件中加載 XML 文檔,然后使用 SelectSingleNode()、SelectNodes() 和 SelectSingleElement() 方法來查詢 XML 文檔中的節(jié)點(diǎn)。
以下是一個(gè)簡單的示例:
using System;
using System.Xml;
class Program
{
static void Main()
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("example.xml"); // 從文件中加載 XML 文檔
XmlNodeList nodeList = xmlDoc.SelectNodes("http://book"); // 查詢所有的 book 節(jié)點(diǎn)
foreach (XmlNode node in nodeList)
{
Console.WriteLine("書名: " + node["title"].InnerText);
Console.WriteLine("作者: " + node["author"].InnerText);
Console.WriteLine("價(jià)格: " + node["price"].InnerText);
Console.WriteLine();
}
}
}
使用 XPathNavigator 類
XPathNavigator 類是 System.Xml.XPath 命名空間中的一個(gè)類,它表示 XML 文檔中的一個(gè)節(jié)點(diǎn),我們可以使用 XPathNavigator 類的方法來遍歷 XML 文檔中的節(jié)點(diǎn)。
以下是一個(gè)簡單的示例:
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(); // 創(chuàng)建一個(gè) XPathNavigator 對(duì)象
navigator.MoveToRoot(); // 將導(dǎo)航器移動(dòng)到根節(jié)點(diǎn)
navigator.MoveToChild("book"); // 將導(dǎo)航器移動(dòng)到第一個(gè) book 節(jié)點(diǎn)
while (!navigator.IsEOF) // 當(dāng)導(dǎo)航器沒有到達(dá)文檔末尾時(shí)循環(huán)
{
string title = navigator.Value; // 獲取書名節(jié)點(diǎn)的值并賦給變量 title
Console.WriteLine("書名: " + title);
navigator.MoveToNext(); // 將導(dǎo)航器移動(dòng)到下一個(gè)兄弟節(jié)點(diǎn)
}
}
}
使用 XElement 類和 LINQ to XML API(LINQ)
XElement 類是 System.Xml.Linq 命名空間中的一個(gè)類,它表示 XML 文檔中的一個(gè)元素,我們可以使用 XElement 類和 LINQ to XML API(LINQ)來查詢和操作 XML 文檔。
以下是一個(gè)簡單的示例:
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 titles = doc.Descendants("book") // 查詢所有 book 元素的書名節(jié)點(diǎn)的值并存儲(chǔ)在一個(gè)列表中
.Select(x => x.Element("title").Value)
.ToList();
foreach (string title in titles)
{
Console.WriteLine("書名: " + title);
}
}
}
相關(guān)問題與解答
1、如何處理 XML 文檔中的命名空間?答:在查詢 XML 文檔時(shí),需要使用帶有命名空間前綴的標(biāo)簽,如果有以下 XML 文檔:
Book One
本文名稱:c#xml文件內(nèi)容怎么讀取
分享URL:http://m.fisionsoft.com.cn/article/dhcdeie.html


咨詢
建站咨詢
