首页 新闻 赞助 找找看

asp.net 循环添加节点,求帮助???????

0
悬赏园豆:5 [已解决问题] 解决于 2012-05-25 10:38
         string orderNo = this.IndexwaybillNo.Value;
            string clientId = "abc"; 
            string logisticProviderID = "cbc"; 
            string xml = "";
            string[] rs = orderNo.Split('/');           
            xml = "<BatchQueryRequest>" +
                      "<logisticProviderID>" + logisticProviderID + "</logisticProviderID>" +
                      "<clientID>" + clientId + "</clientID>" +
                      "<orders>" +                          
                      "</orders>" +
                  "</BatchQueryRequest>";            
            foreach (string s in rs)
            {
                if (s.Length < 10 || !IsNumberic(s))
                {
                    this.lblTime.Text = "";
                    Common.Alert("运单号输入不正确,请输入10位正确运单号");
                }
                else
                {
                    orderNo = s;
                    XmlDocument xmlDoc = new XmlDocument();
                    xmlDoc.LoadXml(xml);
                    XmlNode xmlNode = xmlDoc.SelectSingleNode("BatchQueryRequest/orders");
                    if (xmlNode != null)
                    {
                        XmlElement newElement = xmlDoc.CreateElement("order");//添加order节点
                        XmlElement etitle = xmlDoc.CreateElement("mailNo"); //添加mailNo节点
                        etitle.InnerText = orderNo.ToString();
                        //Common.Alert(etitle);
                        newElement.AppendChild(etitle);
                        xmlNode.AppendChild(newElement);
                    }
                    xmlDoc.Save(xml);
                }
            }

我想给orders节点下循环添加多个order节点
实现以下效果

<BatchQueryRequest>
  <logisticProviderID>cbc</logisticProviderID> 
  <clientID>abc</clientID> 
  <orders> 
    <order>
        <mailNo>1000000001</mailNo>
    </order>
    <order>
        <mailNo>1000000002</mailNo>
    </order>
        <order>
        <mailNo>1000000003</mailNo>
    </order>
  </orders> 
 </BatchQueryRequest>

到了xmlDoc.save(xml)就报错了。错误提示:路径中具有非法字符。

 

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

xmlDoc.save(xml)这里有问题,xmlDoc.save(filename)这里参数应该是带路径的文件名

收获园豆:5
草根程序猿 | 初学一级 |园豆:129 | 2012-05-22 09:31

那我该怎么写呢。

猪头猪脑 | 园豆:6 (初学一级) | 2012-05-22 09:35

save.LoadXml

猪头猪脑 | 园豆:6 (初学一级) | 2012-05-22 09:37

谢谢啊

猪头猪脑 | 园豆:6 (初学一级) | 2012-05-22 09:37

@猪头猪脑: 带路径的文件名啊,你要把这段XML内容保存在哪儿,名字是什么就传什么啊

草根程序猿 | 园豆:129 (初学一级) | 2012-05-22 09:38

@菜鸟程序猿: 我现在写的xml直接写在页面里面了。

猪头猪脑 | 园豆:6 (初学一级) | 2012-05-22 09:54

@猪头猪脑: 该如何用save方法呢

猪头猪脑 | 园豆:6 (初学一级) | 2012-05-22 09:58

@猪头猪脑: 如果是是要讲xml显示在页面上,就用dudu说的方法,如果是要讲它保存到磁盘上的某一个地方,就用我说的方法。

叶小党 | 园豆:481 (菜鸟二级) | 2012-05-22 11:21
其他回答(2)
0

你是要将xml显示到页面上吧,代码如下:

Response.ContentType = "text/xml";       
xmlDoc.Save(Response.Output);
dudu | 园豆:31094 (高人七级) | 2012-05-22 11:14
0
xmlDoc.Save(Server.MapPath("~/"+文件路径));
叶小党 | 园豆:481 (菜鸟二级) | 2012-05-22 11:14
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册