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.
使用 Linq
到 Xml
并更新子元素的 Name
。
var doc = XDocument.Load(filepath);
foreach (var element in doc.Descendants("AirlineList").Elements())
{
element.Name ="Airline";
}
勾选这个example
我有以下 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.
使用 Linq
到 Xml
并更新子元素的 Name
。
var doc = XDocument.Load(filepath);
foreach (var element in doc.Descendants("AirlineList").Elements())
{
element.Name ="Airline";
}
勾选这个example