Önceden yazılmış XML
dosyasını okuması gereken bir C# WinForm
uygulaması yazıyorum. XML
dosyasını ayrıştırmak ve XML
dosya içeriğini yansıtmak için bir veri yapısı oluşturmam gerekiyor. XML
serileştirme işleminde bazı deneyimim var ve bu nedenle .NET
XML.Serialization
özelliklerini kullanmayı öğrendim. ben (vb oluk nitelikleri, elementler ve) sınıfı içinde eşleştiremediğimiz olduğum garip XML
yapısında saplanıp: BununC# XML Serileştirme içlenmemiş diziler/liste
<sheet number="1" name="/" tstamps="/">
<title_block>
<title>ECC Push-Pull</title>
<company/>
<rev>0.1</rev>
<date>Sat 21 Mar 2015</date>
<source>ecc83-pp.sch</source>
<comment number="1" value=""/>
<comment number="2" value=""/>
<comment number="3" value=""/>
<comment number="4" value=""/>
</title_block>
</sheet>
'garip' kısmı yorumların listesidir. XmlArray yönergesiyle bir listenin/dizinin bir dizisinin serileştirilmesi sonucunda böyle 'tekrarlanan' öğeler bulmaya alışığım. Böyle bir yaklaşımın kullanılması, yine de, eşyaların listesini içerecek bir surviuding etiketi getirecektir. Bu durumda bu yapıyı nasıl yansıtabilirim?
[XmlRoot("sheet")]
public class Sheet
{
[XmlAttribute("number")]
public int Number { get; }
[XmlAttribute("name")]
public string Name { get; set; }
[XmlAttribute("tstamps")]
public UInt32 TimeStamps { get; set; }
[XmlElement]
public SheetTitle Title { get; set; }
public Sheet()
{
Title = new SheetTitle();
}
}
[XmlRoot("title_block")]
public class SheetTitle
{
[XmlElement("title")]
public string Title { get; set; }
[XmlElement("company")]
public string Company { get; set; }
[XmlElement("rev")]
public string Revision { get; set; }
[XmlElement("date")]
public DateTime Date { get; set; }
[XmlElement("source")]
public string Source { get; set; }
public SheetTitle()
{
Date = DateTime.Now;
}
}
[XmlRoot("comment")]
public class Comment
{
[XmlAttribute("number")]
public int Number { get; set; }
[XmlAttribute("value")]
public string Value { get; set; }
}
başka yan sorum var: Bu benim ('kayıp' yorumsuz) kullanmalıdır kod. Bu yapıyı yansıtan en iyi sınıf hiyerarşisi: a) sınıfları xml öğeleri ile aynı şekilde yerleştirmek b) tüm sınıfları aynı düzeyde tutmak (bir hiyerarşi olmadan)? Dikkat edilmesi gereken yan etkiler var mı?
Biz Sorunun ortadan kalktığını umut .... sonra dezerializedXML denilen bir nesneye dezerialize (uygulamadan * .exe klasöründe xml.xml denir) dosyasından xml okur . Değilse, belki sorunuzun güncellenmesi hakkında düşünün .... http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235 – Monty
ben tatil için oldum yakında kontrol edecek – weirdgyn