C# 从XML文件查询读取

#@TOC

C# 从XML文件查询读取

XML文件里面定义了树状结构的对象和特征,检索一定特征的对象,并罗列起来,可以这样做

元素定义

这个讲解最清晰:
[https://www.w3schools.com/xml/dom_intro.asp]
根元素 >> 元素>>…>>元素层次关系,如:

<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
  <book category="cooking">
    <title lang="en">Everyday Italian</title>
    <author>Giada De Laurentiis</author>
    <year>2005</year>
    <price>30.00</price>
  </book>
...

bookstore: root element
book: element
title: element
lang=‘en’: 是title的属性
2005是 element year的innertext不是属性
这里解释

读取文件

用XmlDocumant类即可

XmlDocument doc = new XmlDocument();
doc.Load(filepathString); //用文件路径string导入
XmlNodeList books = roadXML.GetElementsByTagName("book"); //读取全部book元素

读取一个元素

例如读取第一本书的作者 (继上例子)

string author = books[0].SelectSingleNode("author").InnerText;

查找一个子元素满足条件的元素

这是关键方法,但是文档不清晰
XmlNode.SelectSingleNode
这里是技术关键:要用XPath,但是没有解释怎么用XPath.
SelectNodes Using XPath Navigation
XPath不复杂,看这个就懂了
XPath语法

例子 查找列表第一个作者为Giada De Laurentiis的书名

string bookName = doc.SelectSingleNode(@"bookstore/book[author='Giada De Laurentiis']/title").InnerText;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值