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ş:
Nasıl SERİ en az veya en fazla özellik...
Seri ilk 5 Seçmek için Sorgu...
Ne kadar büyük bir metin dosyasındaki ...
Nasıl gıt hep çelişkide birleştirmesi ...
Ne kadar sağı solu belli olmayan bir d...