我写的大概如下。比较第一个循环的CUR和第二个循环的cur节点下的secid值。如果相等就将第三个循环的tim子节点加到第一个后面。第二个循环和第三个循环中cur 和 tim是同一节点下的平行节点。目的就是第二和第三个循环要一起走才行。即如果if正确了。就将和cur平级的相应tim节点拷过去。但不知道如何才能达到这样。望大家出出主意。
foreach(XmlNode node1 in aXml.SelectNodes("/A/B/CUR"))
{
foreach(XmlNode node2 in bXml.SelectNodes"/g/s/b/cur"))
{
foreach(XmlNode secsNode in retXml.SelectNodes("/g/s/b/tim"))
{
string strSecid1 = AwsXmlHelper.GetNodeValueEx(node1, "@SECID");
string strSecid2 = AwsXmlHelper.GetNodeValueEx(node2, "@secid");
if(strSecid1 == strSecid2)
{
if(secsNode != null)
{
node1.AppendChild(hypoXml.ImportNode(secsNode,true));
}
}
}
}
}
foreach(XmlNode node1 in aXml.SelectNodes("/A/B/CUR"))
{
foreach(XmlNode node2 in bXml.SelectNodes"/g/s/b/cur"))
{
foreach(XmlNode secsNode in retXml.SelectNodes("/g/s/b/tim"))
{
string strSecid1 = AwsXmlHelper.GetNodeValueEx(node1, "@SECID");
string strSecid2 = AwsXmlHelper.GetNodeValueEx(node2, "@secid");
if(strSecid1 == strSecid2)
{
if(secsNode != null)
{
node1.AppendChild(hypoXml.ImportNode(secsNode,true));
}
}
}
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货