XmlNode TargetNode = xmldoc.SelectSingleNode("PageView/ViewStat[P_PageUrl="+P_PageUrl+"]");
if(Object.Equals(TargetNode,null))
{

XmlElement FatherItem = xmldoc.CreateElement("ViewStat");
//  创建各个子结点
XmlElement P_ID_Item = xmldoc.CreateElement("P_ID");
XmlElement P_PageUrl_Item = xmldoc.CreateElement("P_PageUrl");
XmlElement P_ViewNum_Item = xmldoc.CreateElement("P_ViewNum");
XmlElement P_IpInfor_Item = xmldoc.CreateElement("P_IpInfor"); P_ID_Item.InnerText = P_ID;
P_PageUrl_Item.InnerText = P_PageUrl;
P_ViewNum_Item.InnerText = P_ViewNum;
P_IpInfor_Item.InnerText = P_IpInfor; FatherItem.AppendChild( P_ID_Item );
FatherItem.AppendChild( P_PageUrl_Item );
FatherItem.AppendChild( P_ViewNum_Item );
FatherItem.AppendChild( P_IpInfor_Item ); xmldoc.DocumentElement.AppendChild( FatherItem );

}
else
{
//Update Node
Response.Write("接点创建成功,更新PV");
}<?xml version="1.0" encoding="gb2312"?>
<PageView>
  <ViewStat>
    <P_ID>0000000002</P_ID>
    <P_PageUrl>/ClubHome/Index.aspx</P_PageUrl>
    <P_ViewNum>1</P_ViewNum>
    <P_IpInfor>127.0.0.1</P_IpInfor>
  </ViewStat>
  <ViewStat>
    <P_ID>0000000009</P_ID>
    <P_PageUrl>/ClubHome/Index.aspx</P_PageUrl>
    <P_ViewNum>1</P_ViewNum>
    <P_IpInfor>127.0.0.1</P_IpInfor>
  </ViewStat>
  <ViewStat>
    <P_ID>0000000010</P_ID>
    <P_PageUrl>/ClubHome/Index.aspx</P_PageUrl>
    <P_ViewNum>1</P_ViewNum>
    <P_IpInfor>127.0.0.1</P_IpInfor>
  </ViewStat>
</PageView>这样运行的结果始终CreateNode.
请问上面那里错了?

解决方案 »

  1.   

    问题的实质就是判断<P_PageUrl>/ClubHome/Index.aspx</P_PageUrl>
    接点:P_PageUrl值为:/ClubHome/Index.aspx的</ViewStat>结点是否存在
    不存在Create Node 存在Update Node 的值。
    请问怎么写?
    或者上面的那里错了。XmlNode TargetNode = xmldoc.SelectSingleNode("PageView/ViewStat[P_PageUrl="+P_PageUrl+"]");就是上面这个不对。
      

  2.   

    [P_PageUrl="+P_PageUrl+"]是不是应该写成[P_PageUrl='"+P_PageUrl+"']
      

  3.   

    /ClubHome/Index.aspx
    应该加单引号。