首页 新闻 搜索 专区 学院

asp.net 循环添加xml节点

0
[已解决问题] 解决于 2012-05-25 15:41

功能是为了实现调用快递接口,对快递运单的批量查询

功能初始页面

 

输入数据后

 

现在遇到的问题就是怎么动态添加xml节点,想实现的结果是

 

<BatchQueryRequest>
  <logisticProviderID>xxx</logisticProviderID> 
  <clientID>xxx</clientID> 
  <orders> 
    <order>
        <mailNo>1111111111</mailNo>
    </order>
    <order>
        <mailNo>2222222222</mailNo>
    </order>
   </orders> 
 </BatchQueryRequest>

后台代码

            string orderNo = this.IndexwaybillNo.Value.Trim();
            string clientId = "xxx"; 
            string logisticProviderID = "xxx"; 
            string[] rs = orderNo.Trim().Split('/');
            string xml = "<BatchQueryRequest>" +
                      "<logisticProviderID>" + logisticProviderID + "</logisticProviderID>" +
                      "<clientID>" + clientId + "</clientID>" +
                      "<orders>" +
                      "</orders>" +
                  "</BatchQueryRequest>";
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.LoadXml(xml);
            XmlNode xmlNode = xmlDoc.SelectSingleNode("BatchQueryRequest/orders");         
            foreach (string s in rs)
            {
                if (s.Trim().Length!= 10)
                {
                    this.lblTime.Text = "";
                    Common.Alert("运单号输入不正确,请输入10位正确运单号");                  
                }
                else if (!op.StrIsInt(s))
                {
                    this.lblTime.Text = "";
                    Common.Alert("运单号格式不正确,请输入10位正确运单号"); 
                }
                else
                {
                    orderNo = s;                   
                    if (xmlNode != null)
                    {
                        XmlElement newElement = xmlDoc.CreateElement("order");//添加order节点
                        XmlElement etitle = xmlDoc.CreateElement("mailNo"); //添加mailNo节点
                        etitle.InnerXml = orderNo;
                        newElement.AppendChild(etitle);                      
                        xmlNode.AppendChild(newElement);
                    }
                    xmlDoc.LoadXml(xml);
                }
                
            }

刚开始接触xml,节点就是添加不上。求高人指点!!!!!!!

 

 

猪头猪脑的主页 猪头猪脑 | 初学一级 | 园豆:6
提问于:2012-05-23 10:49
< >
分享
最佳答案
0

建议使用Linq to Xml,参考文章:

LINQ之路19:LINQ to XML之X-DOM更新、和Value属性交互

奖励园豆:5
dudu | 高人七级 |园豆:38823 | 2012-05-23 12:09
其他回答(1)
0

这个是xml文件?

wvsy | 园豆:297 (菜鸟二级) | 2012-05-23 10:50
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册