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

XML Rename all child elements to the same tag name

我有以下 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。子名称标签各不相同,可以是任何名称。所以没有办法知道哪些名称标签会出现以及它们会是什么。它是来自 Web 服务的动态 XML 文档。到目前为止,我已经设法将 XML 字符串加载到 XmlDocument;

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

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

我添加了更多细节。 XML 文档现在包含在 firstChild 中。如何替换 firstChild 中的元素而不是直接从 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