SORU
17 Temmuz 2009, Cuma


SERİ isim XML görmezden

Nasıl XML ad iqnore bu SERİ var mı? Ya alteranately, nasıl ad kaldýrmak?

Ad yarı-rasgele bir şekilde ayarlanan soruyorum çünkü bir ad olan ve olmayan düğümleri aramak zorunda yoruldum.

CEVAP
17 Temmuz 2009, Cuma


Yazma yerine:

nodes.Elements("Foo")

yazma:

nodes.Elements().Where(e => e.Name.LocalName == "Foo")

ve yorulduğunda, kendi uzantısı yöntemi yapmak:

public static IEnumerable<XElement> ElementsAnyNS<T>(this IEnumerable<T> source, string localName)
    where T : XContainer
{
    return source.Elements().Where(e => e.Name.LocalName == localName);
}

Eğer namespaced öznitelikleri ile başa çıkmak için sık sık varsa nitelikler için Ditto, nispeten nadir olan).

[DEĞİŞTİR] çözüm Ekleyerek XPath için

Yazmak yerine XPath için:

/foo/bar | /foo/ns:bar | /ns:foo/bar | /ns:foo/ns:bar

local-name() işlevi kullanabilirsiniz:

/*[local-name() = 'foo']/*[local-name() = 'bar']

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • FOSDEM

    FOSDEM

    13 Ocak 2009
  • HBO

    HBO

    17 Mayıs 2006
  • Thehalopianoplayer

    Thehalopiano

    4 ŞUBAT 2011