[C# XML]XML组成关系梳理,包括XPath表达式

XML组成关系梳理

  • 节点的关键组成
  • XML元素及其关系
  • XML节点的定位(包括XPath表达式)

(一)节点的关键组成

在这里插入图片描述

(二)XML元素及其关系

1、XML元素及其关系

在这里插入图片描述

2、测试样例结果
using System;
using System.Xml;
using System.Windows.Forms;
            XmlDocument xmlDoc = new XmlDocument();
            try
            {
                xmlDoc.Load(fileLoadPathAndFileName);//读取加载目标XML文件。对应的紧前OpenFileDialog对象操作此处略。
            }
            catch (Exception ec)
            {
                MessageBox.Show("xml文件不合规\r\r" + ec.Message);
                return null;
            }

            #region [测试]
            int _intls;

            XmlNodeList xmlNodes = xmlDoc.SelectNodes("/根节点限定名"); //参数中使用的是XPath表达式
            //校验根节点是否符合设计限定的唯一性标准
            int _int非文档树根的根节点数 = xmlDoc.SelectNodes("/根节点限定名").Count; //参数中使用的是XPath表达式
            if (_int非文档树根的根节点数 > 1)
            {
                MessageBox.Show($"非文档树根的根节点数为{_int非文档树根的根节点数}个!\r\r提醒:\r根节点数必须为1个,非法XML。");
                return;
            }
       		//识别节点的Name、InnerXml、InnerText、Value
            _intls = 0;
            foreach (XmlNode xmlNode in xmlNodes)
            {
                MessageBox.Show(_intls + "、测试\r\rName:\r" + (xmlNode.Name == null ? "null" : xmlNode.Name)
                    + "\r\rInnerXml:\r" + (xmlNode.InnerXml == null ? "null" : xmlNode.InnerXml)
                    + "\r\rInnerText:\r" + (xmlNode.InnerText == null ? "null" : xmlNode.InnerText)
                    + "\r\rValue:\r" + (xmlNode.Value == null ? "null" : xmlNode.Value)
                    );
                _intls++;
            }
            #endregion

在这里插入图片描述

(三)XML节点的定位

1、XML节点的定位

在这里插入图片描述

2、XPath语法

在这里插入图片描述

XPath语法,更具体的内容可参见网上教程

美图分享

请添加图片描述
请添加图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

混入码龄的巍巍清新一笑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值