MrIceberg 2020-09-15 10:38 采纳率: 50%
浏览 184
已采纳

C#XML如何在指定位置插入数据?

现有XML格式:

<Book>
        <StyleXML>
                <text>a</text>
                <text>b</text>
                <text>e</text>
        </StyleXML>
</Book>

问题:如何在 b 与 e 之间插入数据 c

变成:

<Book>
        <StyleXML>
                <text>a</text>
                <text>b</text>
                <text>c</text>
                <text>d</text>
        </StyleXML>
</Book>

本人小白,刚接触XML,望各位大佬们帮帮忙!

  • 写回答

3条回答 默认 最新

  • threenewbee 2020-09-15 11:04
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • 郭老师的小迷弟雅思莫了 Java领域新星创作者 2020-09-15 11:10
    关注

    这个要先获取xml的节点,先获取父节点,然后是子节点,然后对应的插入你要的节点。你可以按照上面那个老马专家的回答来参考。

    评论
  • jingluan666 2020-09-15 11:39
    关注

    使用System.Xml.Linq,比较好处理:

    XDocument doc = XDocument.Parse(
                    @"<Book>
                            <StyleXML>
                                    <text>a</text>
                                    <text>b</text>
                                    <text>e</text>
                            </StyleXML>
                    </Book>");
    
                var styleNode = doc.Root.Element("StyleXML");
                var textNodes = styleNode.Elements("text");
    
                textNodes.FirstOrDefault(item => item.Value == "b")
                    ?.AddAfterSelf(XElement.Parse("<text>c</text>"));
    
                Console.WriteLine(doc.ToString());
    
                doc.Save("output.xml");
    
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 MICE包多重插补后数据集汇总导出
  • ¥15 一道算法分析问题(关于3-MSAT)
  • ¥15 C++ FLUENT 化学反应速率 编写困难
  • ¥15 Python嵌套交叉验证
  • ¥15 linuxkit+elasticsearch
  • ¥15 兄得萌6.13do题😭😭大一小东西的work
  • ¥15 投不到原始数据,gdal投影代码
  • ¥20 卷积混响的代码帮写。。
  • ¥88 借助代码处理雷达影像,识别任意区域洪水前后的被淹没区域,并可视化展示。
  • ¥100 提问关于声学两个频率合成后主观听觉问题