XML Dosya Güncelleme

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,745
Excel Vers. ve Dili
2010-2016
Kolay gelsin. Orjinalinde <?xml version="1.0" encoding="UTF-8" ?> kodu olan bir xml dosyada güncelleme yapmaya çalışıyorum. Ama karakter sorunu çıkartıyor.
Dosyayı manuel olarak <?xml version="1.0" encoding="iso-8859-9"?> yapıp kaydedince sorun olmuyor. <?xml version="1.0" encoding="UTF-8" ?> olan bir dosya nasıl değiştirilir. https://stackoverflow.com/questions/15456798/how-can-i-find-replace-multiple-strings-in-an-xml-file?noredirect=1&lq=1 linkindeki kodları kullanıyorum.
Asıl amacım Satır başı ve boşluk olan bir xml dosyasında yazı şeklini bozmadan sadece ilgili kelimeyi değiştirmek. Örneğin tarih yazan yere hücrede yazan 15.11.2018 tarihini yazmak.
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,315
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Mesajınıza göre 2 adet değişiklik mi istiyorsunuz? Bir tanesi UTF-8 yerine iso-8859-9 öbürü de XML dosyasındaki bir yerde tarih değişikliği....

Örnek XML dosyası eklerseniz, ne yapabileceğimize bir bakalım.


.
 

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,745
Excel Vers. ve Dili
2010-2016
Asıl amaç date değişikliği değil aslında. Yazının aslı UTF8 formatında ve değişiklik yapıp kaydettiğim zaman anlamsız karakterler ve satırda kaymalar oluyor. Normal bir yazıyı Xml formatında ve bu yazının içerisinde değişiklik yapmak istiyorum. 2 parağraflık bir yazı. Burdan bazı verileri değiştirmek istiyorum.

Şöylede diyebiliriz. Asıl amaç xml dökümanı açmak içerisinde replace yapmak ve kaydedip kapatmak. Kaydetme işlemini yeni bir dosya oluşturup
Open sFileName For Output As iFileNum
Print #iFileNum, sTemp
Close iFileNum
ile değil.
Bu şekilde yapınca yazı bozuluyor.
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,315
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Örnek dosya olmadığı için bir şey diyemem, kolay gelsin...

.
 

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,745
Excel Vers. ve Dili
2010-2016
Herhangi bir parağraftaki veriyi değiştirecek (replcae) bir örnek ekleme imkanınız var mı? Xml belge içerisinde bulunan A sütunundaki verilerle B sütunundaki verileri değiştirsin.
Ya da örnek dosyayı mail atabilir miyim?
 

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,745
Excel Vers. ve Dili
2010-2016
Yapmaya çalıştığım işlem https://www.excel.web.tr/threads/kapali-xml-dosyasindan-istenilen-taglardaki-verileri.168641/ linkindeki content.xml T.C.t.gov.tr aralığında yazılar olsun. Buraya veri eklemek istiyorum. Ya da burdaki veriyi değiştirmek istiyorum. Ordaki örnekde ekte bir parağraf ekledim. Burada virgülle kelimesini ve txt kelimelerini değiştirmek istiyorum diyelim. Yani uzunlukları farklı iki üç değeri değiştirmek istiyorum.
 

Ekli dosyalar

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,315
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Ben ekte ufak bir örnek hazırladım. Ekli dosyayı sözkonusu content.xml dosyası ile aynı klasöre yerleştirip, kodu çalıştırdıktan sonra;

Kendinize göre geliştirebilirsiniz....

.
 

Ekli dosyalar

Son düzenleme:

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,315
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Yukarıdaki mesajda yer alan dosyada ufak bir revizyon yaptım, bilginize....

.
 

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,745
Excel Vers. ve Dili
2010-2016
Haluk Bey ilginiz için teşekkür ederim. Verdiğiniz kodlar komple metni değiştiriyor. Benim istediğim sadece içerisinden bir kelimeyi bulması ve değiştirmesi şeklinde.
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,315
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Ben size komple çözüm değil; XML dosyasındaki bir düğümde yer alan veriyi okumak, güncellemek ve kaydetmeye örnek olsun diye hazırlamıştım.

Kodlar esas olarak XML dokümanında güncelleme yapılmasına ilişkin kod tekniği içermektedir.

Sizin yapacağınız iş sadece; "MsgBox" fonksiyonu ile alınan veriyi bir değişkene atayıp, klasik VBA metodlarıyla gereken düzenlemeyi yaptıktan sonra yerine geri yerleştirmek olacak. Bu kısmını herhalde yaparsınız diye düşünüyorum...

.
 

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,745
Excel Vers. ve Dili
2010-2016
XML dosyasının alt kısmında bir sürü kodlar mevcut. Bunlar parağraf özelliklerini vb. belirliyor diye düşünmüştüm. O yüzden sadece kelime değiştirme yoluna gidiyordum. Birde asıl metinde alt bilgi ve resimler mevcut.
Dilerseniz mail adresinize asıl dosya örneğinden atayım.
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,315
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Özel mesaj ve e-posta ile sorulan soruları ücreti karşılığında cevaplıyorum. Takdir sizindir...

.
 
Üst