首页 > 其他 > 详细

xml

时间:2017-02-23 18:44:34      阅读:160      评论:0      收藏:0      [点我收藏+]

一.更新现有xml文件数据
1.保证原先xml的节点存在文本和数据库传递的数据有数据才行
public static void UpdateXmlInnerText(string xmlPath, string strSingleNode, DataRow dr)
        {
            XmlReaderSettings settings = new XmlReaderSettings();
            settings.IgnoreComments = true;//忽略文档里面的注释
                                           //   XmlReader reader = XmlReader.Create( xmlPath, settings);
            Xmldoc.Load(xmlPath);
            XmlNodeList xnl = Xmldoc.SelectSingleNode("Request/Body/" + strSingleNode).ChildNodes;
            int i = 0;
            foreach (XmlNode xn in xnl)
            {
                // 将节点转换为元素,便于得到节点的属性值
                XmlElement xe = (XmlElement)xn;
                // 得到Type和ISBN两个属性的属性值
                //   bookModel.BookISBN = xe.GetAttribute("ISBN").ToString();
                //  bookModel.BookType = xe.GetAttribute("Type").ToString();
                // 得到Book节点的所有子节点
                XmlNodeList xnl0 = xe.ChildNodes;
                try
                {
                    string strDrItem = dr[i].ToString();
                    //保证原先xml的节点存在文本和数据库传递的数据有数据才行
                    if (xnl0.Item(0) != null)
                    {
                        if ((strDrItem != "") || ((strDrItem != null)))
                        {
                            xnl0.Item(0).InnerText = strDrItem;
                        }

                    }
                    else
                    {
                        // xnl0.Item(0).;
                    }

                }
                catch (Exception)
                {
                    xnl0.Item(0).InnerText = "";
                }

                ++i;

            }


            Xmldoc.Save(xmlPath);

        }

2.这个单纯改动text,不管空不空,好

   private static  void  GetXmlChildNodeText(string xmlPath,string strRootNode, string strParNode, string strSingleNode, DataRow dr)
        {
            Xmldoc.Load(xmlPath);
            XmlNodeList xnl = Xmldoc.SelectSingleNode(strRootNode+"/"+ strParNode+"/" + strSingleNode).ChildNodes;
            int i = 0;
            foreach (XmlNode xn in xnl)
            {                              
                xn.InnerText = dr[i].ToString();
                ++i;
            }
            Xmldoc.Save(xmlPath);
        }

 

xml

原文:http://www.cnblogs.com/2186009311CFF/p/6434625.html

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