deadea Mesaj tarihi: Aralık 5, 2009 Paylaş Mesaj tarihi: Aralık 5, 2009 şimdi efem elimizde bir xml dosyamız war ve verisi şu şekilde: şimdi ben buraya yeni cevap elementleri ve o elementlerede yeni attribute'ler eklemek istiyorum. C# XmlDocument xDoc = new XmlDocument(); xDoc.Load("c:herneyse.xml" ); XmlElement element = xDoc.CreateElement("Soru/deneme" ); şimdi burada sanırım yanlış giriyorum parametreleri. yada eksik birşey war, varmı xml'den anlayan? xDoc.AppendChild(element); xDoc.Save("c:herneyse.xml" ) Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Kojiroh Mesaj tarihi: Aralık 5, 2009 Paylaş Mesaj tarihi: Aralık 5, 2009 "/" karakterini kullanmadan denedin mi? Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Mirage Mesaj tarihi: Aralık 5, 2009 Paylaş Mesaj tarihi: Aralık 5, 2009 XmlElement element = xDoc.CreateElement("Soru/deneme" ); Bu satırda ne yapmak istiyorsun? Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
deadea Mesaj tarihi: Aralık 5, 2009 Konuyu açan Paylaş Mesaj tarihi: Aralık 5, 2009 denedim ewt.. ozamanda "Bu belgenin 'DocumentElement' düğümü zaten var." hatasını AppendChild satırında veriyor. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
deadea Mesaj tarihi: Aralık 5, 2009 Konuyu açan Paylaş Mesaj tarihi: Aralık 5, 2009 yeni cevap şıkkı ekliycem. ör) o eski 2 cevap şıkkına 1 tane yeni eklemek istiyorum en alta gibi Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
aktiftablet Mesaj tarihi: Aralık 5, 2009 Paylaş Mesaj tarihi: Aralık 5, 2009 Birden fazla parent node yapmaya çalıştığın içindir? Bir tane esas node olacak, onun içine istediklerini atabilirsin yanlış ahtırlamıyosam yani: ....... ....... Şeklinde oluşturmayı dene. Senin gönderdiğinde "soru" parent olduğundan ikincisine izin vermiyor. Yanlış hatırlıyosam düzeltir birileri :) Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
deadea Mesaj tarihi: Aralık 5, 2009 Konuyu açan Paylaş Mesaj tarihi: Aralık 5, 2009 Şimdi xml'in içeriğini değiştiremem. Soru root'una yeni bir node, element gibi birşey eklemem lazım. Bunu perşembe günü yapmıştım. takır takırda çalışıyordu ama unuttum kodları şimdi bir bakayım derken. MSDN olsun w3schools olsun o kadar çok bilgi varki beynim döndü. X( ah bi ulaşabilsem soru köküne ekliycemde Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Kojiroh Mesaj tarihi: Aralık 5, 2009 Paylaş Mesaj tarihi: Aralık 5, 2009 Hmm bu yapıda bi XML yaratcak/deiştircek olsam şöyle yazarım kodu: Edit: Tabi bu kod o bilmemne.xml'in root node'unun "Soru" olduğunu varsayıyo, her çalıştırmada ona bi şeyler ekliyo. Birden fazla soru node'u olsun diyosan en başta Sorular diye bi node yaratır, Soru nodelarını ona eklersin ama soruda öyle denmemiş tabii. XmlDocument doc = new XmlDocument(); try { doc.Load("C:bilmemne.xml"); } catch { } XmlNode nodSoru = doc[Soru] == null ? doc.CreateElement("Soru") : doc[Soru]; XmlAttribute attrSoruText = doc.CreateAttribute("Text"); attrSoruText.Value = "hede hödö"; nodSoru.Attributes.Append(attrSoruText); XmlNode nodAnketBaslik = doc.CreateElement("AnketBaslik"); XmlAttribute attrAnketBaslik = doc.CreateAttribute("Text"); attrAnketBaslik.Value = "kjvblckjn"; nodAnketBaslik.Attributes.Append(attrAnketBaslik); XmlNode nodCevap1 = doc.CreateElement("Cevap"); XmlAttribute attrCevap1Text = doc.CreateAttribute("Text"); attrCevap1Text.Value = "bxcvbx"; XmlAttribute attrCevap1Adet = doc.CreateAttribute("Adet"); attrCevap1Adet.Value = "1"; nodCevap1.Attributes.Append(attrCevap1Text); nodCevap1.Attributes.Append(attrCevap1Adet); XmlNode nodCevap2 = doc.CreateElement("Cevap"); XmlAttribute attrCevap2Text = doc.CreateAttribute("Text"); attrCevap2Text.Value = "bxcvbx"; XmlAttribute attrCevap2Adet = doc.CreateAttribute("Adet"); attrCevap2Adet.Value = "0"; nodCevap2.Attributes.Append(attrCevap2Text); nodCevap2.Attributes.Append(attrCevap2Adet); nodAnketBaslik.AppendChild(nodCevap1); nodAnketBaslik.AppendChild(nodCevap2); nodSoru.AppendChild(nodAnketBaslik); try { doc.AppendChild(nodSoru); } catch { } doc.Save("C:bilmemne.xml"); Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
deadea Mesaj tarihi: Aralık 5, 2009 Konuyu açan Paylaş Mesaj tarihi: Aralık 5, 2009 hmmm eyw hocam süper yazmışsın. bende şimdi şu kodla yeni bir eklettirdim en alta. eğer attr'lerinide eklemeye uğraşayım biraz. olmadı senin yöntemi alıcam direk. XmlElement element = xDoc.CreateElement("Soru", "Cevap", "" ); xDoc.ChildNodes[1].ChildNodes[0].AppendChild(element); sonuç: Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
aktiftablet Mesaj tarihi: Aralık 5, 2009 Paylaş Mesaj tarihi: Aralık 5, 2009 Çok fazla xmlle uğraşmadım, ama iki tane root node olamaz. Daha önce yaptım demişsin ama yanlış hatırlıyosundur kesin. 2. bir root eklemeye çalıştığında appendchild metodu kızar sana. Şimdi ilk postu tekrar okudum da sen zaten ikinci bir soru eklemeye çalışmıyosun. Soru senin rootun olduğuna öre içine ekleyeceğin cevaplarda sorun olmaması lazım, Kojiroh'un yaklaşımı doğru, onu kullan. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
deadea Mesaj tarihi: Aralık 6, 2009 Konuyu açan Paylaş Mesaj tarihi: Aralık 6, 2009 XmlTextWriter'la hallettim. ama performans olarak xdocumentten kötü, çünkü bilgileri baştan aşağı yeniden yazıyor xml'in içini. araya nokta atışı yapan bir kod bulamadım. belikide yoktur :) Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Mirage Mesaj tarihi: Aralık 6, 2009 Paylaş Mesaj tarihi: Aralık 6, 2009 Yazarken hepsi öyle yapıyor. İlk önce bütün dökümanı hafızada oluşturuyorsun. Sonra olduğu gibi dosyaya yazdırıyorsun. Edit: XML okumak ve işlemek için kullanılan SAX adında event bazlı bir API. Onun XML yazmak için geliştirilmiş bir StAX diye bir versiyonu var. Onla yazarken bütün dökümanı hafızada tutmadan stream şeklinde yazdırılabiliyor. Hatırladığım kadarıyla bahsettiğin nokta atışı hiç bir text manipulasyonu için mümkün değil. Sadece dosyanın sonuna bir şey eklersen mümkün. Aksi taktirde bütün dosyayı baştan yazman gerekiyor. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Öne çıkan mesajlar