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

  • Eric Enge

    Eric Enge

    2 Kasım 2009
  • mahalodotcom

    mahalodotcom

    8 HAZİRAN 2007
  • PhoneBuff

    PhoneBuff

    10 HAZİRAN 2011