待处理的Xml文件:
<?xml version="1.0" encoding='UTF-8'?>
<ufinterface billtype="gl" filename="gledi" isexchange="Y" proc="add" receiver="01" replace="Y" roottag="sendresult" sender="ceec" successful="Y">
<sendresult>
<billpk>
</billpk>
<bdocid>AAAA</bdocid>
<filename>BBBB</filename>
<resultcode>CCCC</resultcode>
<resultdescription>DDDD</resultdescription>
<content>EEEE</content>
</sendresult>
<sendresult>
<billpk>
</billpk>
<bdocid>aaaa</bdocid>
<filename>bbbb</filename>
<resultcode>cccc</resultcode>
<resultdescription>dddd</resultdescription>
<content>eeee</content>
</sendresult>
</ufinterface>
处理目标获取节点
isexchange、billpk、resultcode、bdocid、resultdescription的节点信息,代码如下:
private void ReadXml()
{
try
{
XmlDocument Xd = new XmlDocument();
//Xd.LoadXml(strXml);
Xd.Load("E:\\Books.xml");//加载待处理的xml文件
XmlNode root = Xd.DocumentElement;
string strID = string.Empty;
string Xtfhz = string.Empty;//<billpk>
string Fhxxbh = string.Empty;//<resultcode>
string Pzbh = string.Empty;//<bdocid>
string Djxx = string.Empty;//<resultdescription>
//遍历每个ufinterface节点
foreach (XmlNode node in Xd.SelectNodes("//ufinterface"))
{
strID = node.Attributes["isexchange"].Value; //获取isexchange属性的值
XmlNode RootNode = Xd.SelectSingleNode("ufinterface");//得到根节点
//得到根节点下所有名为“sendresult”子节点,是一个list集合。
XmlNodeList ChildNodes = RootNode.SelectNodes("sendresult");
//遍历<sendresult>节点集合
foreach (XmlNode childnode in ChildNodes)
{
//遍历每个<sendresult>节点中的子节点
foreach (XmlNode snode in childnode)
{
if (snode.Name == "billpk")
{
Xtfhz = snode.InnerText;
MessageBox.Show("billpk=" + Xtfhz);
}
if (snode.Name == "bdocid")
{
Pzbh = snode.InnerText;
MessageBox.Show("bdocid=" + Pzbh);
}
if (snode.Name == "resultcode")
{
Fhxxbh = snode.InnerText;
MessageBox.Show("resultcode=" + Fhxxbh);
}
if (snode.Name == "resultdescription")
{
Djxx = snode.InnerText;
MessageBox.Show("resultdescription=" + Djxx);
}
}
}
}
}
catch (Exception ee)
{
MessageBox.Show(ee.ToString());
}
}
在代码中的每个
MessageBox.Show均可弹出,对应节点的信息。