51Halcon机器视觉

 找回密码
 会员注册

QQ登录

只需一步,快速开始

扫一扫,微信登录

查看: 1289|回复: 3

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

[复制链接]
  • TA的每日心情
    可怜
    2019-8-9 19:55
  • 签到天数: 39 天

    连续签到: 1 天

    [LV.5]常住居民I

    13

    主题

    59

    帖子

    176

    积分

    Rank: 1

    积分
    176

    切换助手验证会员

    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");
                                }
                            }

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

    2.提问请组织好自己的逻辑,标题注明大概是什么问题,问题内容写详细,需提供问题症状、错误代码、截图、位置等等信息,不要让别人去猜你想问啥;

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

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

  • TA的每日心情
    点赞
    昨天 10:23
  • 签到天数: 956 天

    连续签到: 1 天

    [LV.10]以坛为家III

    379

    主题

    1552

    帖子

    7289

    积分

    Rank: 9

    积分
    7289

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

    发表于 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-8-9 19:55
  • 签到天数: 39 天

    连续签到: 1 天

    [LV.5]常住居民I

    13

    主题

    59

    帖子

    176

    积分

    Rank: 1

    积分
    176

    切换助手验证会员

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

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

    2.提问请组织好自己的逻辑,标题注明大概是什么问题,问题内容写详细,需提供问题症状、错误代码、截图、位置等等信息,不要让别人去猜你想问啥;

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

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

  • TA的每日心情
    点赞
    昨天 10:23
  • 签到天数: 956 天

    连续签到: 1 天

    [LV.10]以坛为家III

    379

    主题

    1552

    帖子

    7289

    积分

    Rank: 9

    积分
    7289

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

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

    本版积分规则

    建议您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流浏览器浏览本网站

    51Halcon会员技术交流会员技术交流 | 51Halcon官方客服咨询官方客服咨询 | Halcon切换助手使用反馈切换助手使用

    有问题需要咨询站长?| 申请友链| 小黑屋| 手机版| Archiver|  

    粤ICP备15095995号-2 粤公网安备44030602000670号

    CopyRight © 2015-2020 51Halcon机器视觉. Tencent Cloud X3.4.

    快速回复 返回顶部 返回列表