Aracılığıyla paylaş


XmlTextAttribute.DataType Özellik

Tanım

tarafından XmlSerializeroluşturulan metnin XML Şema tanım dilini (XSD) alır veya ayarlar.

public:
 property System::String ^ DataType { System::String ^ get(); void set(System::String ^ value); };
public string DataType { get; set; }
member this.DataType : string with get, set
Public Property DataType As String

Özellik Değeri

XML Şeması (XSD) veri türü.

Özel durumlar

Belirttiğiniz XML Şeması veri türü .NET veri türüyle eşlenemez.

Belirttiğiniz XML Şeması veri türü özellik için geçersiz ve üye türüne dönüştürülemez.

Örnekler

using System;
using System.Xml.Serialization;
using System.IO;

public class Group1{
   // The XmlTextAttribute with type set to string informs the
   // XmlSerializer that strings should be serialized as XML text.
   [XmlText(typeof(string))]
   [XmlElement(typeof(int))]
   [XmlElement(typeof(double))]
   public object [] All= new object []{321, "One", 2, 3.0, "Two" };
}

public class Group2{
   [XmlText(Type = typeof(GroupType))]
   public GroupType Type;
}
public enum GroupType{
   Small,
   Medium,
   Large
}

public class Group3{
   [XmlText(Type=typeof(DateTime))]
   public DateTime CreationTime = DateTime.Now;
}

public class Test{
   static void Main(){
      Test t = new Test();
      t.SerializeArray("XmlText1.xml");
      t.SerializeEnum("XmlText2.xml");
      t.SerializeDateTime("XmlText3.xml");
   }

   private void SerializeArray(string filename){
      XmlSerializer ser = new XmlSerializer(typeof(Group1));
      Group1 myGroup1 = new Group1();

      TextWriter writer = new StreamWriter(filename);

      ser.Serialize(writer, myGroup1);
      writer.Close();
   }

   private void SerializeEnum(string filename){
      XmlSerializer ser = new XmlSerializer(typeof(Group2));
      Group2 myGroup = new Group2();
      myGroup.Type = GroupType.Medium;
      TextWriter writer = new StreamWriter(filename);

      ser.Serialize(writer, myGroup);
      writer.Close();
   }

   private void SerializeDateTime(string filename){
      XmlSerializer ser = new XmlSerializer(typeof(Group3));
      Group3 myGroup = new Group3();
      TextWriter writer = new StreamWriter(filename);

      ser.Serialize(writer, myGroup);
      writer.Close();
   }
}
Imports System.Xml.Serialization
Imports System.IO


Public Class Group1
   ' The XmlTextAttribute with type set to String informs the 
   ' XmlSerializer that strings should be serialized as XML text.
   <XmlText(GetType(String)), _
   XmlElement(GetType(integer)), _  
   XmlElement(GetType(double))> _
   public All () As Object = _
   New Object (){321, "One", 2, 3.0, "Two" }
End Class


Public Class Group2
   <XmlText(GetType(GroupType))> _
   public Type As GroupType 
End Class

Public Enum GroupType
   Small
   Medium
   Large
End Enum

Public Class Group3
   <XmlText(GetType(DateTime))> _
   Public CreationTime As DateTime = DateTime.Now
End Class

Public Class Test
   Shared Sub Main()
      Dim t As Test = New Test()
      t.SerializeArray("XmlText1.xml")
      t.SerializeEnum("XmlText2.xml")
      t.SerializeDateTime("XmlText3.xml")
   End Sub

   Private Sub SerializeArray(filename As String)
      Dim ser As XmlSerializer = New XmlSerializer(GetType(Group1))
      Dim myGroup1 As Group1 = New Group1()

      Dim writer As TextWriter = New StreamWriter(filename)

      ser.Serialize(writer, myGroup1)
      writer.Close()
   End Sub

   Private Sub SerializeEnum(filename As String)
      Dim ser As XmlSerializer = New XmlSerializer(GetType(Group2))
      Dim myGroup As Group2 = New Group2()
      myGroup.Type = GroupType.Medium
      Dim writer As TextWriter = New StreamWriter(filename)

      ser.Serialize(writer, myGroup)
      writer.Close()
   End Sub

   Private Sub SerializeDateTime(filename As String)
      Dim ser As XmlSerializer = new XmlSerializer(GetType(Group3))
      Dim myGroup As Group3 = new Group3()
      Dim writer As TextWriter = new StreamWriter(filename)

      ser.Serialize(writer, myGroup)
      writer.Close()
   End Sub
End Class

Açıklamalar

özelliğinin DataType XML Şeması basit veri türüne ayarlanması, oluşturulan XML'nin biçimini etkiler. Örneğin, özelliğinin "tarih" olarak ayarlanması, oluşturulan metnin genel tarih stilinde biçimlendirilmesine neden olur, örneğin: 2001-08-31. Buna karşılık, özelliğin "dateTime" olarak ayarlanması, Uluslararası Standartlaştırma Kuruluşu 'nun 8601, "Tarih ve Saat Gösterimleri" belgesinde tanımlandığı gibi belirli bir anında sonuçlanabilir, örneğin: 2001-08-15T06:59:11.0508456-07:00.

Özelliği ayarlamanın DataType etkisi, derlenmiş bir dosya için XML Şeması oluşturmak üzere XML Şema Tanım Aracı (Xsd.exe) kullanılırken de görülebilir. Aracı kullanma hakkında daha fazla bilgi için bkz. XML Şema Tanımı Aracı ve XML Serileştirme.

Aşağıdaki tabloda XML Şeması basit veri türleri .NET eşdeğerleriyle listelenmiştir.

XML Şeması base64Binary ve hexBinary veri türleri için bir yapı dizisi Byte kullanın ve uygun şekilde "base64Binary" veya "hexBinary" olarak ayarlanmış bir XmlTextAttributeDataType uygulayın. XML Şeması time ve date veri türleri için türünü kullanın DateTime ve XmlTextAttribute "date" veya "time" olarak ayarlayın.DataType

Bir dizeye eşlenen her XML Şeması veri türü için özelliğini XML Şeması veri türüne ayarlanmış olarak DataType uygulayınXmlTextAttribute. Bunun serileştirme biçimini değiştirmediğini, yalnızca üyenin şemasını değiştirdiğini unutmayın.

Uyarı

özelliği büyük/küçük harfe duyarlıdır, bu nedenle xml şeması veri türlerinden birine tam olarak ayarlamanız gerekir.

Uyarı

İkili verileri XML öğesi olarak geçirmek, xml özniteliği olarak geçirmekten daha verimlidir.

XML Şeması veri türleri hakkında daha fazla bilgi için BKZ. XML Şeması Bölüm 2: Veri Türleri adlı World Wide Web Konsorsiyumu belgesi.

XSD veri tipi .NET veri türü
Anyurı String
base64Binary Nesne dizisi Byte
Boolean Boolean
byte SByte
date DateTime
tarih ve saat DateTime
ondalık Decimal
double Double
VARLIK String
VARLIK String
yüzmek Single
gDay String
gMonth String
gMonthDay String
gYear String
gYearMonth String
Hexbinary Nesne dizisi Byte
Kimlik String
IDREF String
IDREFS String
int Int32
tamsayı String
language String
uzun Int64
İsim String
Ncname String
negativeInteger String
NMTOKEN String
NMTOKENS String
normalizedString String
nonNegativeInteger String
nonPositiveInteger String
GÖSTERİM String
positiveInteger String
QName XmlQualifiedName
duration String
String String
short Int16
zaman DateTime
token String
işaretsiz bayt (unsignedByte) Byte
işaretsiz tam sayı UInt32
işaretsiz uzun UInt64
işaretsizKısa UInt16

Şunlara uygulanır