Ne kadar SERİ ve XML ile belirli bir düğümü seçmek için | Netgez.com
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

  • 24 Канал

    24 КанаÐ

    5 ÅžUBAT 2006
  • Emotional Trancer

    Emotional Tr

    4 Mart 2010
  • Living Waters

    Living Water

    9 AÄžUSTOS 2006