XML поиск атрибутов - PullRequest
       0

XML поиск атрибутов

0 голосов
/ 30 марта 2020
<Flight flightOriginDate="2018-08-20" scheduledTimeOfDeparture="2018-08-20T16:15:00">
    <FlightIdentification>
        <FLIGHTIDENTIFIGHER> ATS-FPL </FLIGHTIDENTIFIGHER> CLEAR
        <FlightNumber airlineIATACode="two letter code"  number="275"  operationalSuffix="A">
            <CommercialFlightNumber>275A</CommercialFlightNumber> --"concatnation of IATA Code, Number and operational Suffix"
        </FlightNumber>
    </FlightIdentification>
    <DepartureAirport AIRPORTNAME="PORTLAND INTL"  airportFunction="Departure Airport" -- HC MASTER >
        <AirportICAOCode>KPWM</AirportICAOCode>
        <AirportIATACode>PWM</AirportIATACode>
    </DepartureAirport>
    <ArrivalAirport airportName="HEATHROW"  airportFunction=" Arrival Airport"   >
        <AirportICAOCode>EGLL</AirportICAOCode>
        <AirportIATACode>LHR</AirportIATACode>
    </ArrivalAirport>
</Flight>

Как удалить атрибут, который состоит из заглавных букв в c# из xml. Для бывшего FLIGHTIDENTIFIGHER, имя аэропорта в выше xml

1 Ответ

1 голос
/ 30 марта 2020

Сначала вы должны добавить необходимые пространства имен:

using System.Linq;
using System.Xml.Linq;

Затем вы загружаете ваш образец XML в XDocument.

var xDocument = XDocument.Load("XmlPath.xml");

А теперь с помощью LINQ вы удаляете элементы и атрибуты, имена которых прописные.

xDocument.Root.Descendants().Where(elem => elem.Name.LocalName.ToString()
                            .All(char.IsUpper))
                            .Remove();

xDocument.Root.Descendants().Attributes()
                            .Where(elem => elem.Name.ToString()
                            .All(char.IsUpper))
                            .Remove();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...