XPathNavigator类包含移动和选择XML所需元素的所有方法。

一、创建:CreateNavigator
1、XPathNavigator类,如果是从XPathDocument中创建,则是只读的,只能浏览数据;
XPathDocument doc = new XPathDocument("./books.xml");
XPathNavigator nav = ((IXPathNavigable)doc).CreateNavigator();
2、XPathNavigator类,如果是从XmlDocument中创建,则可以编辑文档;
XmlDocument doc = new XmlDocument();
doc.Load("./books.xml");
XPathNavigator nav2 = doc.CreateNavigator();
二、读取:Select()
- 使用Select()方法通过XPath语句查询,得到XPathNodeIterator对象;
- 遍历XPathNodeIterator迭代器,MoveNext()方法移动下一个节点;Current属性表示当前节点;
//查询bookstore的子元素book中genre属性值为novel的所有节点
XPathNodeIterator iter = nav.Select("/bookstore/book[@genre='novel']");
while (iter.MoveNext())
{
//迭代所有子代节点
XPathNodeIterator newIter = iter.Current.SelectDescendants(XPathNodeType.Element, false);
while (newIter.MoveNext())
{
Console.WriteLine(newIter.Current.Name+ " : " +newIter.Current.Value);
}
}
三、计算:Evaluate
使用Evaluate()方法计算表达式的值;
//统计图书总价
Console.WriteLine("Total price = {0}", nav.Evaluate("sum(bookstore/book/price)"));
四、编辑
插入节点:先检查CanEdit属性是否为true,再使用InsertAfter()方法插入新节点。
XmlDocument doc = new XmlDocument();
doc.Load("./books.xml");
XPathNavigator nav2 = doc.CreateNavigator();
//判断是否可编辑
if (nav2.CanEdit)
{
XPathNodeIterator iter = nav2.Select("bookstore/book/price");
while (iter.MoveNext())
{
//在当前节点之后插入新节点
iter.Current.InsertAfter("5");
}
}
doc.Save("./newBooks.xml");
五、转换XmlReader ,XmlWriter
通过XPathNavigator转换为XmlReader ,XmlWriter读写数据
//读:
XmlReader reader=nav.ReadSubtree();
while(reader.Read())
{
Console.Write(reader.ReadOuterXml());
}
//写:
XmlWriter writer=XmlWriter.Create("./1.xml");
nav.WriteSubtree(writer);
writer.Close();
到此这篇关于C#导航器Xpath与XPathNavigator类的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持。
相关推荐:
SEO抢权:如何在竞争激烈的市场中占得先机,正规网站建设口碑好
360刷排名工具选哪家?揭秘2025年最强排名优化工具!,ai写作网站哪个好一点
seo读什么书,seo是哪个专业的 ,亚洲9ai吧
AI免费生成文字,打造创作新时代
SEM做得好可以取代SEO吗?浅析两者的异同与未来趋势,王道ai
SEO引擎优化方法-让你的网站流量暴增的实战指南,ai智慧树
ChatGPT网络故障报告从协调世界时(UTC)晚上1107左右开始激增,15分钟内引发广泛关注,ai无视进化
SEO怎么做才能提升网站流量与排名?这篇文章给你全攻略,铁岭定制网站推广公司电话
SEO更好,让你的网站从此脱颖而出,渝中的知名网站建设
什么是seo网络推广seo顾问,seo网络推广员 ,ai20170119
优排软件:高效管理新天地,轻松提升工作效率,长葛外贸网站建设
文章AI生成软件高效创作新纪元
seo相关知识是什么,seo相关技术 ,ai写作讯飞星火认知大模型
软件我在AI:改变未来的智能助手
ChatGPT使用问题?如果您正在使用VPN,请尝试将其关闭,ai制作渐变立体
SEO伪创:提升网站排名的危险策略与如何避免,怎样介绍社交网站推广
常用AI工具,高效智能生活
SEO观察:2025年搜索引擎优化的新趋势与机遇,seo2是什么状态
《命运交错的轨迹:小说背后的无尽魅力》,seo优化huifachina
ChatGPT怎么突然不能打开了?你需要了解的原因与解决办法,ai写作有什么问题吗怎么解决
为什么关键词太少会影响你的网络营销效果?,陕西seo网站推广工具
互联网资源的无限潜力:如何利用数字世界为个人和企业创造价值,信阳网站建设正规公司
好用的AI写作软件,让创作更高效
SEO站内优化:提升网站排名的核心策略,厦门市网站优化企业
什么是秀米?全方位了解这款微信公众号排版神器,宁波全网营销型网站建设
SEO优化如何提升网站排名,驾驭搜索引擎流量,三亚网站推广方法
seo深度优化插件是什么,深度优化手机软件 ,ai的缩写
SEO添加:提升网站流量与排名的必备策略,seo团队成员中国人
AI一键生成文章免费:革新写作方式,提升创作效率
文章疑似AI生成怎么办?如何辨别并应对AI生成文章的挑战
为什么说seo这么重要,seo重要吗 ,ai19920403
ChatGPT连了外网也登不了?如何解决这一问题,重新畅享AI助力!,ai少女大瓜
互联网快排:助力企业网站流量爆发的秘密武器,西安网站建设找资源公司
为什么seo推广那么多,seo推广难吗 ,东莞ai听译平台
SEO努力:提升网站排名的关键策略,网站建设微企动力
用AI写科普文章:科技改变写作的未来
seo种草什么意思,seo yoo na ,三维地震反演AI
为什么要做seo si,为什么要做* ,ai里面怎么扣二维码
SEO特点与实施策略:提升网站流量与排名的关键,定西抖音seo价格查询
怎么用AI写出令人惊叹的文章?轻松搞定写作难题!
AI通过算法和数据生成的作品:科技与艺术的跨越,带来无限创意可能,ai优化程序
SEO优化工具优势:提升网站排名,带来流量和转化的秘密武器,ai圆形造字
seo高手有什么条件,seo难上手吗 ,指南ai写作电力创新
洗文章AI:让内容创作变得更智能、更高效
ChatGPT错误处理与异常情况解决方法:让你的AI助手更加智能与可靠,智能ai鼠标ai智能语音
SEO文案:如何通过巧妙布局提升网站排名,吸引更多流量,娄底网站建设工作文案
从“官网扒下来”看企业数字化转型的未来,摄影营销策略推广文案
seo资源指的是什么,seo资料 ,绿眼AI
Bing搜索不能预览了?搜索引擎的新变革与挑战,ai制作一张窗花
ChatGPT与讯飞:AI语音与智能对话的完美融合,ai直角变圆角