首页 > 其他 > 详细

XML 克隆节点

时间:2020-03-24 17:19:53      阅读:46      评论:0      收藏:0      [点我收藏+]
<?xml version="1.0" encoding="UTF-8"?>
<request>
  <criteriaList>
    <criteria>
      <warehouseCode>仓库编码, string(50), 必填</warehouseCode>
      <ownerCode>货主编码,string(50), 必填</ownerCode>
      <itemCode>商品编码,string(50),必填</itemCode>
      <itemId>仓储系统商品 ID, string(50)</itemId>
    </criteria>
   <criteria>
      <warehouseCode>仓库编码, string(50), 必填</warehouseCode>
      <ownerCode>货主编码,string(50), 必填</ownerCode>
      <itemCode>商品编码,string(50),必填</itemCode>
      <itemId>仓储系统商品 ID, string(50)</itemId>
    </criteria>    
  <criteria>
      <warehouseCode>仓库编码, string(50), 必填</warehouseCode>
      <ownerCode>货主编码,string(50), 必填</ownerCode>
      <itemCode>商品编码,string(50),必填</itemCode>
      <itemId>仓储系统商品 ID, string(50)</itemId>
    </criteria>
  </criteriaList>
</request>

客户给的参数形式xml是这样的,所以在我抛送数据的时候,criteriaList是可以容纳多个的;那么怎么克隆出来多个呢:

try
            {
                XmlDocument xdi = new XmlDocument();
                xdi.Load(("doc/InventorySync.xml"));//加载出来整个文档
                XmlNode xd = xdi.SelectSingleNode("request/criteriaList/criteria");//要复制的节点,criteria这个节点下还有要复制的字段
                xdi.SelectSingleNode("request/criteriaList").InnerXml = "";//这个是把xml中带有的原有的criteria除去
                for (int i = 0; i < 10; i++)
                {
                    XmlNode xdx = xd.Clone();
                    xdx.SelectSingleNode("warehouseCode").InnerXml = i.ToString();
                    xdx.SelectSingleNode("ownerCode").InnerXml = i.ToString();
                    xdx.SelectSingleNode("itemCode").InnerXml = i.ToString();
                    xdx.SelectSingleNode("itemId").InnerXml = i.ToString();
                    xdi.SelectSingleNode("request/criteriaList").AppendChild(xdx);
                }
            }

 

 

 

XML 克隆节点

原文:https://www.cnblogs.com/ZkbFighting/p/12559610.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!