SORU
27 ŞUBAT 2009, Cuma


Ne kadar SERİ ve XML ile belirli bir düğümü seçmek için

İlk müşteri düğümünü seçin ve kodu şirket adı altında değiştirebilirim.

Ama nasıl=2 müşteri düğüm seçerim?

    XDocument xmldoc = new XDocument(
        new XDeclaration("1.0", "utf-8", "yes"),
        new XComment("These are all the customers transfered from the database."),
        new XElement("Customers",
            new XElement("Customer",
                new XAttribute("ID", 1),
                new XElement("FullName", "Jim Tester"),
                new XElement("Title", "Developer"),
                new XElement("Company", "Apple Inc.")
                ),
            new XElement("Customer",
                new XAttribute("ID", 2),
                new XElement("FullName", "John Testly"),
                new XElement("Title", "Tester"),
                new XElement("Company", "Google")
                )
            )
        );

    XElement elementToChange = xmldoc.Element("Customers").Element("Customer").Element("Company");
    elementToChange.ReplaceWith(new XElement("Company", "new company value..."));

CEVAP:

Teşekkürler çocuklar, haberiniz olsun, burada tam sözdizimi için arama şirketi elemanı müşteri-ile-ıd-2 element ve değiştir değeri (şirket elemanı:

XElement elementToChange = xmldoc.Element("Customers")
    .Elements("Customer")
    .Single(x => (int)x.Attribute("ID") == 2)
    .Element("Company");
elementToChange.ReplaceWith(
    new XElement("Company", "new company value...")
    );

YÖNTEM SÖZDİZİMİ İLE CEVAP

Sadece yöntem sözdizimi olarak: çözdüm

XElement elementToChange = (from c in xmldoc.Element("Customers")
                                .Elements("Customer")
                            where (int)c.Attribute("ID") == 3
                            select c).Single().Element("Company");

CEVAP
27 ŞUBAT 2009, Cuma


KİMLİĞİ benzersiz olduğunu varsayarsak:

var result = xmldoc.Element("Customers")
                   .Elements("Customer")
                   .Single(x => (int?)x.Attribute("ID") == 2);

Ayrıca farklı koşullar içinFirst, FirstOrDefault, SingleOrDefault veya Where yerine Single kullanabilirsiniz.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Anthony Cumia

    Anthony Cumi

    5 EYLÜL 2006
  • HER0R

    HER0R

    16 Aralık 2007
  • Pál Zoltán Illés

    Pál Zoltán

    30 NİSAN 2007