c# - XML 将所有子元素重命名为相同的标签名称

标签 c# asp.net xmldocument

我有以下 XML 文档结构。

<FareSearchResponse>
    <AirlineList>
        <AQR>...</AQR>
        <ABA>...</ABA>
        <AAI>...</AAI>
        <A9W>...</A9W>
        <AVS>...</AVS>
        <AAF>...</AAF>
        <AEY>...</AEY>
        <ALH>...</ALH>
        <AQF>...</AQF>
    </AirlineList>
</FareSearchResponse>

我想将 AirlineList 的所有子元素重命名为 Airline。 child 的名字标签各不相同,可以是任何名字。因此无法知道会出现哪些名称标签以及它们是什么。它是来自 Web 服务的动态 XML 文档。到目前为止,我已成功将 XML 字符串加载到 XmlDocument 中;

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(System.Web.HttpUtility.HtmlDecode(resultString));
XElement firstChild = xmlDoc.ToXDocument().Root.Elements().First();

我想选择所有 AirlineList 元素并将它们重命名为 Airline。

我添加了更多详细信息。 XML 文档现在包含在firstChild 中。如何替换第一个Child 中的元素而不是直接从 XmlDocument 替换元素

谢谢。

最佳答案

I want to select all AirlineList elements and rename them to Airline.

使用 LinqXml 并更新子元素的Name

var doc = XDocument.Load(filepath);

foreach (var element in doc.Descendants("AirlineList").Elements())
{
    element.Name ="Airline";
}

检查这个example

关于c# - XML 将所有子元素重命名为相同的标签名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36265219/

相关文章:

c# - 在 MySql bool 和 C# bool 之间转换的正确方法是什么?

c# - MVC 4 获取选定单选按钮的值

javascript - 如果正在输入输入文本'空隐藏标签,按下按钮时显示标签

c# - 使用 C# 动态重命名 xmlnode

c# - 在 C# 中创建此 XML

c# - 将 XmlDocument 插入 XmlDocument 节点

c# - 确定 myinstance 是否为 Generic<T>

c# - CodeDOM:将 DebuggerStepThroughAttribute 添加到属性

asp.net - 我们可以不用DataAdapter填充DataSet吗?

c# - 需要自定义 .NET 应用程序搜索解决方案