Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

[XLINQ] küçük bir soru


Öne çıkan mesajlar

Mesaj tarihi:
xlinq kullanarak xml dosyası okuma, yazma veya sorgulama yapabiliyorum. aklıma ufak bir şey takıldı ama kendi denemelerim ve araştırmalarım sonuçsuz kaldı. xlinq sınıfları kullanarak var olan bir xml dosyasındaki elementlere attribute ekleyebilir miyiz?
Mesaj tarihi:
tüm contact elementlerine attribute eklemeye çalışıyordum az önce hallettim. bir sürü alakasız kod var ama belki işine yarayan olur.

code


using System;
using System.Collections.Generic;
using System.Linq;
using System.Xml.Linq;
using System.Text;

namespace xlinq2
{
class Program
{
static void Main(string[] args)
{
XDocument contactsDoc =
new XDocument(
new XDeclaration("1.0", "UTF-8", "yes"),
new XComment("XLinq Contacts XML Example"),
new XProcessingInstruction("MyApp", "123-44-4444"),
new XElement("contacts",
new XElement("contact",
new XElement("name", "Patrick Hines"),
new XElement("phone", "206-555-0144"),
new XElement("address",
new XElement("street1", "123 Main St"),
new XElement("city", "Mercer Island"),
new XElement("state", "WA"),
new XElement("postal", "68042")
)
)
)
);

XElement contacts =
new XElement("contact",
new XElement("name", "Onat Mercan"),
new XElement("phone", "216-555-5555",
new XAttribute("type", "home")),
new XElement("phone", "532-555-5555",
new XAttribute("type", "work")),
new XElement("address",
new XElement("street1", "123 Main St"),
new XElement("city", "Mercer Island"),
new XElement("state", "WA"),
new XElement("postal", "68042")
)
);

XElement rootContactsDoc = contactsDoc.Root;

rootContactsDoc.Add(contacts);

foreach (XElement phone in
contactsDoc.Element("contacts").Elements("contact").Elements("phone"))
{
Console.WriteLine(phone.Value);
}

foreach (XElement phone in
contactsDoc.Element("contacts").Elements("contact").Elements("phone"))
{
if((string)phone.Attribute("type") == "home")
{
Console.WriteLine("Home phone: {0}",phone.Value);
}
}

var phones = from p in contactsDoc.Element("contacts").
Elements("contact").Elements("phone")
where (string)p.Attribute("type") == "home"
select p.Value;

foreach (var phone in phones)
{
Console.WriteLine(phone);
}

//contactsDoc.Element("contacts").Add(new XAttribute("what", "indabutt"));
//contactsDoc.Element("contacts").Element("contact").Add(new XAttribute("what", "indabutt"));

var ps = contactsDoc.Element("contacts").Elements("contact").Elements("name");

foreach (var p in ps)
{
p.Add(new XAttribute("what", "indabutt"));
}

var ks = contactsDoc.Element("contacts").Elements("contact");

foreach(var k in ks)
{
k.Add(new XAttribute("what", "indabutt"));
}

Console.WriteLine(contactsDoc);
}
}
}



dikkatsizliğim yüzünden beceremiyordum. elements yazacağıma element yazıp durduğum için
×
×
  • Yeni Oluştur...