未知昵称 2018-05-28 08:08 采纳率: 66.7%
浏览 986
已采纳

C#,向xml文件指定位置按照格式写入数据 @caozhy

@caozhy 求助

之前问过的有关读取xml文件相关的内容

现在需要往xml指定位置等级插入相似的数据。
xml某个等级位置的数据如下所示,
图片说明

C#界面留几个用户可以写入关键字的textbox控件,填完之后点击button,相应的数据会插入到指定的位置,如下,相当于在上图同级的位置插入一个类似的数据。默认是按照顺序插在ELEMENTS下最后一个。
图片说明

最终插入进去的完整数据如下格式:

 <IMPLEMENTATION-DATA-TYPE>
                            <SHORT-NAME>Earea</SHORT-NAME>
                            <CATEGORY>VALUE</CATEGORY>
                            <SW-DATA-DEF-PROPS>
                                <SW-DATA-DEF-PROPS-VARIANTS>
                                    <SW-DATA-DEF-PROPS-CONDITIONAL>
                                        <BASE-TYPE-REF DEST="SW-BASE-TYPE">/DataTypes/BaseTypes/uint8</BASE-TYPE-REF>
                                        <COMPU-METHOD-REF DEST="COMPU-METHOD">/DataTypes/CompuMethods/Earea</COMPU-METHOD-REF>
                                    </SW-DATA-DEF-PROPS-CONDITIONAL>
                                </SW-DATA-DEF-PROPS-VARIANTS>
                            </SW-DATA-DEF-PROPS>
                        </IMPLEMENTATION-DATA-TYPE>

xml文件下载

或者有没有什么其他更好的方法可以写数据,界面需要流出textbox给用户输入,只要能实现功能就行?

  • 写回答

2条回答 默认 最新

  • 邪恶八进制 2018-05-28 08:56
    关注

    给你个启发吧
    public void UpdateValue(string nKey, string nValue)
    {

            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.LoadXml("<PrizeInfo><Prize_1Name>Jackpot 1</Prize_1Name><Prize_1Money>13000</Prize_1Money><Prize_1Rop>56 Rop</Prize_1Rop><Prize_1Background>255,0,255,0</Prize_1Background><Prize_1Foreground>255,0,0,0</Prize_1Foreground></PrizeInfo>"); 
            XmlNodeList elemList = xmlDoc.GetElementsByTagName(nKey); 
            XmlNode mNode = elemList[0]; 
            mNode.InnerText = nValue; 
            XmlTextWriter xw = new XmlTextWriter(new StreamWriter(@"D:\model.xml")); 
            xw.Formatting = Formatting.Indented; 
            xmlDoc.WriteTo(xw); 
            xw.Close();
    
    }
    

    我加载了你的XML第一个对象,然后更改了里面的内容,生成出来了
    当然你可以只更改而不生成,
    覆盖原来的XML就行了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵