【发布时间】:2016-07-15 21:10:25
【问题描述】:
我有以下 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();
我想选择所有 AirlineList 元素并将它们重命名为 Airline。
我添加了更多细节。 XML 文档现在包含在 firstChild 中。如何替换 firstChild 中的元素而不是直接从 XmlDocument 替换元素
谢谢。
【问题讨论】:
-
不确定 XML 库中是否有方法,但您可以使用字符串,然后对其进行字符串替换。然后序列化回 XML。
-
您可以使用 XPath 来实现。
-
@Casey。子元素名称标签各不相同,因此无法知道标签的名称
-
@JCM 我该怎么做?
-
如果你这样做:
xmlDoc.InnerXml = xmlDoc.InnerXml.Replace("AirlineList", "Airline");??
标签: c# asp.net xmldocument