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

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条回答 默认 最新

  • blownewbee 2020-09-15 11:04
    已采纳
    点赞 打赏 评论
  • 这个要先获取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");
    
    点赞 打赏 评论

相关推荐 更多相似问题