En iyi yanıtlayıcılar
XML Dosyasını eksik alıyor

Soru
-
Merhabalar arkadaşlar;
XML dosyasını txt formatında kullanılan sınıfla okurken eksik okuyor,mesela kafasına göre en sondaki satırları ya da kelimeleri almayabiliyor.Daha sonra okunan bilgiyi düzenlenmiş olarak yine aynı dosyaya kaydediyorum.
Ya da ben bir yerde yanlış yapıyor olabilirim.Bu sorunla ilgili yanıtlarınızı bekliyorum.
Kod blogum;
protected void Page_Load(object sender, EventArgs e)
{
FileStream Dosya;
StreamReader Okuma;
string Yol = "C:\\a.xml";
Dosya = new FileStream(Yol, FileMode.Open, FileAccess.ReadWrite);
Okuma = new StreamReader(Dosya);
string yeni = Okuma.ReadToEnd();
yeni = yeni.Replace("This XML file does not appear to have any style information associated with it. The document tree is shown below.", "<?xml version='1.0' encoding='utf-8'?>");
Okuma.Dispose();
Okuma.Close();
TextBox2.Text = yeni;
StreamWriter yaz = new StreamWriter("C:\\a.xml", false);
yaz.Write(yeni);}
Bu arada arkadaşlar Dosya kodlama türü var bununla ilgili olabiliyormuş.utf8 veya Ansii- Düzenleyen RecepEroglu 14 Kasım 2012 Çarşamba 16:10
Yanıtlar
-
RecepEroglu: Çok niyetlendim yazmaya ancak vazgeçtim. Çünkü bazı arkadaşlar kodlarını eleştirdiğimde kızıp, konu istenmeyen noktalara geliyor. Umarım iyi niyetimi anlarsınız.
XML işlemleri bu şekilde yapılmaz. Deklerasyon satırını falan replace ile ekliyorsunuz. FileStream üstünede tuz-biber olmuş.
LinqToXml classlarını kullanınız. Örnek olarak;
<?xml version="1.0" ?> <root> <news id="1"> <headline><![CDATA[deneme haber başlığı]]></headline> <imageurl><![CDATA[http://biryer.com/1.jpg]]></imageurl> </news> </root>
xmlini oluşturan kolar;
XDocument _xd = new XDocument( new XDeclaration("1.0", null, null), new XElement("root", new XElement("news", new XAttribute("id", "1"), new XElement("headline", new XCData("deneme haber başlığı")), new XElement("imageurl", new XCData("http://biryer.com/1.jpg")) ) ) );
_xd.Save("birdosya.xml");
e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
- Yanıt Olarak Öneren Ali Rıza İnceoğlu 15 Kasım 2012 Perşembe 11:55
- Yanıt Olarak İşaretleyen Ali Rıza İnceoğlu 21 Kasım 2012 Çarşamba 08:47
Tüm Yanıtlar
-
-
RecepEroglu: Çok niyetlendim yazmaya ancak vazgeçtim. Çünkü bazı arkadaşlar kodlarını eleştirdiğimde kızıp, konu istenmeyen noktalara geliyor. Umarım iyi niyetimi anlarsınız.
XML işlemleri bu şekilde yapılmaz. Deklerasyon satırını falan replace ile ekliyorsunuz. FileStream üstünede tuz-biber olmuş.
LinqToXml classlarını kullanınız. Örnek olarak;
<?xml version="1.0" ?> <root> <news id="1"> <headline><![CDATA[deneme haber başlığı]]></headline> <imageurl><![CDATA[http://biryer.com/1.jpg]]></imageurl> </news> </root>
xmlini oluşturan kolar;
XDocument _xd = new XDocument( new XDeclaration("1.0", null, null), new XElement("root", new XElement("news", new XAttribute("id", "1"), new XElement("headline", new XCData("deneme haber başlığı")), new XElement("imageurl", new XCData("http://biryer.com/1.jpg")) ) ) );
_xd.Save("birdosya.xml");
e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
- Yanıt Olarak Öneren Ali Rıza İnceoğlu 15 Kasım 2012 Perşembe 11:55
- Yanıt Olarak İşaretleyen Ali Rıza İnceoğlu 21 Kasım 2012 Çarşamba 08:47
-
Önder hocam anlayışınız için teşekkür ederim. Prof. bir programcı değilim zaten yazdığım kodlardan da anlaşılıyordur.Yardımlarınız için ayrıca teşekkür ederim.Blog ya da takip ettiğim başkaca yazılımcıların şahsi sitelerinden gördüğüm; uyguladığım kadarıyla birşeyler yapmaya çalışıyorum bazen felaket olabiliyor şu an olduğu gibi :)
Kendime uyarlayıp yorumumu bırakacağım.İyi çalışmalar.