none
XML Dosyasını eksik alıyor RRS feed

  • 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
    14 Kasım 2012 Çarşamba 09:15

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
    MCC

    15 Kasım 2012 Perşembe 09:50
    Moderatör

Tüm Yanıtlar

  • Arkadaşlar sanırım string Replace edilirken eksilme oluyor.Nedeni ne olabilir?
    15 Kasım 2012 Perşembe 07:52
  • 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
    MCC

    15 Kasım 2012 Perşembe 09:50
    Moderatör
  • Ö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.

    15 Kasım 2012 Perşembe 10:52