热点推荐

查看: 650|回复: 3
收起左侧

[待解决] C#添加一个XML文件时 ,为什么只有两行?

[复制链接]
  • TA的每日心情
    叹气
    2019-4-12 10:50
  • 签到天数: 38 天

    连续签到: 1 天

    [LV.5]常住居民I

    13

    主题

    58

    帖子

    174

    积分

    Rank: 1

    积分
    174

    切换助手验证会员

    QQ
    发表于 2018-3-18 10:19:11 | 显示全部楼层 |阅读模式

    51Halcon诚邀您的加入,专注于机器视觉开发与应用技术,我们一直都在努力!

    您需要 登录 才可以下载或查看,没有帐号?会员注册

    x
    XML文件中只有以下两行,
    <?xml version="1.0" standalone="yes"?>
    <DataBase xmlns="http:---//tempuri.org/---DataBase.xsd"> 因不能发表URL 后面“---”是我加上去的

    在软件初始化时就检查文件是否存在,如果不存在就添加一个 以下为代码
         if (File.Exists("ModelSystem.xml"))
                {
                    dataBase.zhangrp.ReadXml("ModelSystem.xml");
                }
                else
                {
                    dataBase.zhangrp.Rows.Add();
                    //dataBase.zhangrp.WriteXml("ModelSystem.xml");
                }


    然后再读取XML时出现报错 dataBase.zhangrp.ReadXml("ModelSystem.xml"); 错误为: 没有任何行
    try
                            {

                                dataBase.zhangrp.ReadXml("ModelSystem.xml");
                                dataBase.zhangrp.Rows[0][dataBase.zhangrp.上方前电芯模板路径Column] = FileNamepath;
                                if (File.Exists("ModelSystem.xml"))
                                {
                                    File.Delete("ModelSystem.xml");
                                }
                                dataBase.zhangrp.WriteXml("ModelSystem.xml");
                                dataBase.zhangrp.Clear();
                                label2.Text = "";
                                Application.DoEvents();
                            }
                            catch (System.Exception ex)
                            {
                                MessageBox.Show("建立ModelSystem.xml文件失败!" + ex.ToString());
                                if (File.Exists("ModelSystem.xml"))
                                {
                                    File.Delete("ModelSystem.xml");
                                }
                            }

    发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题前面加上【已解决】

    回报帮助你解决问题的坛友,右下角【免费评分】赠与对方视觉币和热心值,伸手党遭人唾弃,做一个热心并受欢迎的人!

  • TA的每日心情
    点赞
    4 小时前
  • 签到天数: 564 天

    连续签到: 2 天

    [LV.9]以坛为家II

    348

    主题

    1301

    帖子

    6284

    积分

    Rank: 9

    积分
    6284

    突出贡献优秀版主荣誉管理论坛元老切换助手验证会员最佳新人

    发表于 2018-3-18 10:38:39 | 显示全部楼层
    也就是你现在是没有*.xml文件,创建了一个文件写入内容后读取还是空的?
    我觉得你的类要么有问题,不然就是文件没有权限!一般这种文件可以创建,但是有的需要以独占方式打开。

    先排查下权限问题,再看看你的xml读写的类是否功能正常吧!下面是我们的切换助手的配置文件UpdateList.xml
    1. <?xml version="1.0" encoding="gb2312"?>
    2. <AutoUpdater>
    3.   <description>自动升级向导</description>
    4.   <Updater>
    5.         <Url>https://www.51halcon.com/down/shv/</Url>
    6.         <LastUpdateTime>2018-03-16</LastUpdateTime>
    7.   </Updater>
    8.   <Application applicationId="SHV">
    9.     <EntryPoint>SHV.exe</EntryPoint>
    10.     <Location>.</Location>
    11.         <Version>2.2.7.0</Version>
    12.   </Application>
    13.   <Files>
    14.            <File Ver="2.2.7.0" Name="SHV.exe" />
    15.            <File Ver="2.2.7.0" Name="SHV_x64.exe" />
    16.            <File Ver="2.2.5.0" Name="Config.cfg"/>
    17.            <File Ver="0.86.0.518" Name="ICSharpCode.SharpZipLib.dll"/>
    18.            <File Ver="10.0.3.21018" Name="Newtonsoft.Json.dll"/>
    19.   </Files>
    20. </AutoUpdater>
    复制代码
    是不是很整齐?我这个读取的也是用C#完成的,可读可写!

    无效附件更新 权限提升操作 删帖申请 举报以及其他需要帮助请加入QQ群:214663141 广告位招商 有意者联系
  • TA的每日心情
    叹气
    2019-4-12 10:50
  • 签到天数: 38 天

    连续签到: 1 天

    [LV.5]常住居民I

    13

    主题

    58

    帖子

    174

    积分

    Rank: 1

    积分
    174

    切换助手验证会员

    QQ
     楼主| 发表于 2018-3-18 11:06:25 | 显示全部楼层
    问题找到了,以下代码亲测没问题,主要是要注意dataBase.zhangrp.Clear();这个方法不能随意用,在清除之前必须确保文件存在,否则报错,非常感谢您的热心 ,谢谢!
                          try
                                {
                                    dataBase.zhangrp.ReadXml("ModelSystem.xml");
                                }
                                catch
                                { dataBase.zhangrp.Rows.Add(); }

    发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题前面加上【已解决】

    回报帮助你解决问题的坛友,右下角【免费评分】赠与对方视觉币和热心值,伸手党遭人唾弃,做一个热心并受欢迎的人!

  • TA的每日心情
    点赞
    4 小时前
  • 签到天数: 564 天

    连续签到: 2 天

    [LV.9]以坛为家II

    348

    主题

    1301

    帖子

    6284

    积分

    Rank: 9

    积分
    6284

    突出贡献优秀版主荣誉管理论坛元老切换助手验证会员最佳新人

    发表于 2018-3-18 11:11:45 | 显示全部楼层
    嗯,这个问题确实是逻辑使用上的问题!
    无效附件更新 权限提升操作 删帖申请 举报以及其他需要帮助请加入QQ群:214663141 广告位招商 有意者联系
    您需要登录后才可以回帖 会员登录 | 会员注册

    本版积分规则

    经营性网站备案信息 经营性网站
    备案信息

    中国互联网举报中心 中国互联网
    举报中心

    中国文明网传播文明 中国文明网
    传播文明

    诚信网站

    深圳市市场监督管理局企业主体身份公示 工商网监
    电子标识