ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Bu makale arşivlenmiştir. "Olduğu gibi" sunulmaktadır ve bundan sonra güncelleştirilmeyecektir.
Belirtiler
Bir özniteliğin veya öğenin 0,00001 gibi ondalık bir değer içeren bir XML belgesi kullandığınızda, şema, bir öznitelik veya öğe bir ondalık sayı işaretler. Bir XML dosyası okunamadı DataSet.ReadXML yöntemini kullanın ve sonra DataSet.WriteXML yöntemi değeri XML dosyasına yazmak için kullandığınız, çıkış değerleri bilimsel gösterimde bir değer içerir. DataSet.ReadXML yöntemini tekrar kullanırsanız, aşağıdaki özel durum hata iletisi alırsınız:
System.FormatException - giriş dizesi doğru biçimde değildi.
Neden
DataSet.WriteXML yöntemi, ondalık sayılar yazdığında dahili Decimal.ToString yöntemini çaðýrýr. Decimal.ToString yöntemi 0,00001 gibi ondalık sayıları, bilimsel gösterimde yazar. Bilimsel gösterim, ondalık değer okunabilmesi için yapmak DataSet nesnenin NumberStyles numaralandırma ayarlanamaz. Bu nedenle, okumaya DataSet.ReadXML yöntemini kullandığınızda numarayı yeniden bir veri kümesinin FormatException bir özel durumu oluşuyor.
Çözüm
Desteklenen bir düzeltme Microsoft'tan edinilebilir, ancak yalnızca bu makalede anlatılan sorunu düzeltmesi amaçlanmıştır. Düzeltmeyi yalnızca bu sorunla karşılaşan sistemlere uygulayın. Bu düzeltmeye ek sınama uygulanabilir. Bu nedenle, sorundan ciddi olarak etkilenmiyorsanız, bu düzeltmeyi içeren bir sonraki hizmet paketini beklemeniz önerilir.
Bu sorunu hemen çözmek için, düzeltmeyi edinmek üzere Microsoft Ürün Destek Hizmetleri'ne başvurun. Microsoft Ürün Destek Hizmetleri'nin telefon numaralarının tam listesi ve destek ücretleriyle ilgili bilgi için, aşağıdaki Microsoft Web sitesini ziyaret edin:
Not Özel durumlarda, Microsoft Destek Uzmanı özel bir güncelleştirmenin sorununuzu çözümleyeceğini belirlerse, destek aramaları için normalde uygulanan ücretler iptal edilebilir. Ek destek sorularına ve söz konusu güncelleştirme için geçerli olmayan sorunlara normal destek ücretleri uygulanır.Bu düzeltmenin İngilizce sürümü, aşağıdaki tabloda listelenen dosya özniteliklerine (veya daha yeni dosya özniteliklerine) sahiptir. Bu dosyaların tarihleri ve saatleri Koordinatlı Evrensel Saat'e (UTC) göre listelenir. Dosya bilgilerini görüntülediğinizde yerel saate dönüştürülür. UTC ve yerel saat arasındaki farkı bulmak için <a0></a0>, Denetim Masası'ndaki Tarih ve Saat aracında saat dilimi sekmesini kullanın.
Date Time Version Size File name ----------------------------------------------------------- 03-May-2002 02:17 1.0.3705.271 1,294,336 System.xml.dll
Pratik Çözüm
Değeri, şemadaki bir ondalık sayı olarak yerine bir dize olarak işaretleyebilirsiniz ve AllowExponent NumberStyles bayrağıyla Decimal.Parse yöntemini kullanarak dize için ondalık bir sayı değeri el ile dönüştürebilirsiniz.
Durum
Microsoft, "Geçerli Olduğu Ürünler" bölümünde listelenen Microsoft ürünlerinde bu sorunun olduğunu onaylamıştır.
Daha fazla bilgi
Davranışı Yeniden Oluşturma Adımları
Bu yöntem, okumak, yazmak için ve bir XML'DEN ondalık değeri okunamıyor bir DataSet nesnesi kullanan belge:
Yeni bir Microsoft Visual C# .NET konsol uygulaması oluşturun.
Microsoft Visual Studio .NET'i başlatın.
Dosya menüsünde Yeni ' nin üzerine gelin ve sonra Project ' i tıklatın.
Altında Project Types, Visual C# Projects ' ı tıklatın ve şablonları altında Console Application ' ı tıklatın. Class1 adlı bir sınıf, varsayılan olarak oluşturulur.
Aşağıdaki ekleyin Class1.cs dosyanın başında deyimini kullanarak:
using System.Data;using System.Xml;
Ana alana Class1.cs:
DataSet ds = new DataSet();ds.ReadXmlSchema("..\\..\\XMLSchema1.xsd");ds.ReadXml("..\\..\\XMLFile1.xml");ds.WriteXml("..\\..\\XMLFile1.xml"); ds.ReadXml("..\\..\\XMLFile1.xml");
Solution Explorer'da (Çözüm Gezgini), proje adını sağ tıklatın, sonra da Ekle işaret ve sonra Yeni Öğe Ekle'yi tıklatın. Add New ıtem kutusu görüntülenir.
Şablonları altında XML şeması ' nı tıklatın ve sonra Aç ' ı tıklatın. Varsayılan olarak, XMLSchema1 oluşturulur.
XML alana geçin ve sonra da kodlayıcı aşağıdaki kodla değiştirin: <a1>
Microsoft Visual Studio .NET 2002 Professional Edition, Microsoft Visual Studio .NET 2002 Enterprise Architect, Microsoft Visual Studio .NET 2002 Enterprise Developer, Microsoft Visual Studio .NET 2002 Academic Edition, Microsoft .NET Framework 1.0, Microsoft .NET Framework 1.0 Service Pack 1, Microsoft .NET Framework 1.0 Service Pack 2