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

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给用户输入,只要能实现功能就行?

给你个启发吧
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就行了

https://my.csdn.net/caozhy ** 呼叫caozhy**