Jak sprawdzić xmldeclacja w Xmldocument C #


Jaki jest bardziej wydajny sposób sprawdzania XmlDocument dla węzła XmlDeclaration?
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Ma do sprawdzenia:
bool hasDec = doc.FirstChild.NodeType == XmlNodeType.XmlDeclaration;

Aby go zdobyć, jeśli ma taki:
XmlDeclaration dec = doc.FirstChild as XmlDeclaration;

Pamiętaj, że przed deklaracją XML treść nie jest dozwolona (z wyjątkiem BOM, która jest uważana za treścią, ale artefakt kodu kodowania w strumieniu, więc nie będzie miało odpowiedniego węzła).
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Jakiego rodzaju „wydajności” szukasz? Wydajność ekspresji czy efektywność czasu wykonania? Oto zapytanie LINQ, które dość szybko znajduje deklarację:
XmlDeclaration declaration = doc.ChildNodes
.OfType<XmlDeclaration>()
.FirstOrDefault();

Zdecydowanie podejrzewam, że będzie dość skuteczne. Możliwe, że możesz

właśnie

Sprawdź, czy pierwsza spółka zależna xmldeclacja ..., nie jestem

Myślę

że coś innego może przyjść do niego.
Jeśli zamiast tego istnieje możliwość skorzystania z LINQ-XML, staje się to jeszcze łatwiejsze - wystarczy użyć właściwości
XDocument.Declaration
.

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się