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语法,更具体的内容可参见网上教程
美图分享