aşağıdaki XML serisini Nesne özniteliğini:serialize XML dizisi, ben bir nesneyi tanımlamak Nasıl
<body>
<S1 A="1">
<S2 B="1">
<S3 C="1"/>
<S3 C="1"/>
</S2>
<S2 B="2"/>
</S1>
<S1 A="2"/>
aşağıdaki XML serisini Nesne özniteliğini:serialize XML dizisi, ben bir nesneyi tanımlamak Nasıl
<body>
<S1 A="1">
<S2 B="1">
<S3 C="1"/>
<S3 C="1"/>
</S2>
<S2 B="2"/>
</S1>
<S1 A="2"/>
şiddetle XML şeması oluşturmaya yardımcı olabilir xsd.exe, kullanmak tavsiye ederim ya XDR, XML ve XSD dosyalarından veya çalışma zamanı derlemesindeki sınıflardan ortak dil çalışma zamanı sınıfları. VS Developer Command Prompt
xsd.exe PathToXmlFile.xml /outputdir:OutputDir
ve Enter
basın
*.xsd
dosyayıxsd.exe PreviouslyCreatedXsdFile.xsd /classes /outputdir:OutputDir
üretmek ve Enter
basın - bu *.cs
dosyası (sınıf tanımı) üretecektir.Hepsi bu kadar!
Dene!
bu deneyin ....
usings .....
using System;
using System.Xml.Serialization;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Xml;
Sınıflar .....
[XmlRoot(ElementName = "S3")]
public class S3
{
[XmlAttribute(AttributeName = "C")]
public string C { get; set; }
}
[XmlRoot(ElementName = "S2")]
public class S2
{
[XmlElement(ElementName = "S3")]
public List<S3> S3 { get; set; }
[XmlAttribute(AttributeName = "B")]
public string B { get; set; }
}
[XmlRoot(ElementName = "S1")]
public class S1
{
[XmlElement(ElementName = "S2")]
public List<S2> S2 { get; set; }
[XmlAttribute(AttributeName = "A")]
public string A { get; set; }
}
[XmlRoot(ElementName = "body")]
public class Body
{
[XmlElement(ElementName = "S1")]
public List<S1> S1 { get; set; }
}
Kod .....
string strXML = File.ReadAllText("xml.xml");
byte[] bufXML = ASCIIEncoding.UTF8.GetBytes(strXML);
MemoryStream ms1 = new MemoryStream(bufXML);
// Deserialize to object
XmlSerializer serializer = new XmlSerializer(typeof(Body));
try
{
using (XmlReader reader = new XmlTextReader(ms1))
{
Body deserializedXML = (Body)serializer.Deserialize(reader);
}// put a break point here and mouse-over deserializedXML….
}
catch (Exception ex)
{
throw;
}
XML'iniz .....
<body>
<S1 A="1">
<S2 B="1">
<S3 C="1"/>
<S3 C="1"/>
</S2>
<S2 B="2"/>
</S1>
<S1 A="2"/>
</body>
Bitiş etiketini ekledim ..... XML'inizi xml.xml adlı uygulama oluşturma klasöründeki bir dosyadan bir dizeye okuyorum ... XML dizgisini bir yerden almanız gerekir else veya xml.xml dosyasını oluştur ve yukarıdaki kod için XML'inizi kaydet
Ne olduğunu tanımla? Daha spesifik olabilir misin? –
, bir nesneye xml'nin nasıl serileceğini gösteren tonlarca örnektir. Biraz çaba göstermelisin. – Jonesopolis
Örneğinizi iyi biçimlendirilmiş XML'de verebilir misiniz? – TVOHM