博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
xml
阅读量:4981 次
发布时间:2019-06-12

本文共 2413 字,大约阅读时间需要 8 分钟。

一.更新现有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);        }

 3.包含中文报错:An unhandled exception of type 'System.Xml.XmlException' occurred in System.Xml.dll  Additional information: 给定编码中的字符无效。 第 7 行,位置 36。

解决方案:把xml文件另存为,选择utf-8保存。

转载于:https://www.cnblogs.com/2186009311CFF/p/6434625.html

你可能感兴趣的文章
(3)排序之直接插入排序
查看>>
知识图谱技术分享会----有关知识图谱构建的部分关键技术简介及思考
查看>>
TCP/IP、Http、Socket的区别
查看>>
c#数字图像处理算法(最终版)
查看>>
(原创)robotium自学笔记
查看>>
搭建SSI开发框架原理
查看>>
原版的WEB认证客户端,提供源代码,让用户自行编译
查看>>
小程序弹出框
查看>>
Scrapy框架基本使用
查看>>
RabbitMQ基础介绍
查看>>
关于过滤器,拦截器,监听器
查看>>
before和after
查看>>
[POJ2492]A Bug's Life
查看>>
[杂题]飞行员配对方案
查看>>
整理常用的iOS第三方资源
查看>>
RPD Volume 168 Issue 4 March 2016 评论1
查看>>
触发浏览器(reflow)的操作
查看>>
编程基础-回调
查看>>
ad如何从PCB中导出元件封装库
查看>>
常见安卓渠道分类
查看>>