내가 XML 파일에있는 퀴즈 질문을 가져올. XML에는 일련의 질문이 있으며 모든 질문에는 답변 목록이 있습니다. 누군가가 나를 도와주고 내가 어디가 잘못 됐는지 말해 줄 수 있습니까?XML 직렬화 C#을 배열
XML 파일 "pitanja.xml"
<?xml version="1.0" encoding="utf-8"?>
<Pitanja>
<Pitanje>
<TekstPitanja>
U kojoj državi se nalazi Ajfelova kula?
</TekstPitanja>
<Odgovori>
<Odgovor tacan = "true" > Francuska </Odgovor>
<Odgovor> Nemačka </Odgovor>
<Odgovor> Španija </Odgovor>
<Odgovor> Italija </Odgovor>
</Odgovori>
</Pitanje>
<Pitanje>
<TekstPitanja>
U kom gradu se nalazi Big Ben?
</TekstPitanja>
<Odgovori>
<Odgovor tacan = "true" > London </Odgovor>
<Odgovor> Pariz </Odgovor>
<Odgovor> Lisabon </Odgovor>
<Odgovor> Madrid </Odgovor>
</Odgovori>
</Pitanje>
<Pitanje>
<TekstPitanja>
Glavni grad Španije je?
</TekstPitanja>
<Odgovori>
<Odgovor tacan = "true" > Madrid </Odgovor>
<Odgovor> Barselona </Odgovor>
<Odgovor> Lisabon </Odgovor>
<Odgovor> Rim </Odgovor>
</Odgovori>
</Pitanje>
</Pitanja>
C# 코드 : 나는 당신이 추가 요소에 <Odgovor> 요소를 래핑 할 필요가 있다고 생각
[XmlRoot("Pitanja")]
public class Pitanja
{
[XmlArray("Pitanja")]
[XmlArrayItem("Pitanje")]
public List<Pitanje> SvaPitanja { get; set; }
}
public class Pitanje
{
[XmlElement("TekstPitanja")]
public string TekstPitanja { get; set; } // Tekst pitanja
[XmlArray("Odgovori")]
[XmlArrayItem("Odgovor")]
public List<Odgovor> Odgovori { get; set; } // Niz odgovora na pitanje
}
public class Odgovor
{
[XmlText]
public string odgovor { get; set; }
[XmlAttribute]
public Boolean tacan { get; set; }
}
public void ucitajpitanja()
{
XmlSerializer dsr = new XmlSerializer(typeof(Pitanja));
using (System.IO.StreamReader str = new System.IO.StreamReader(@"C:\pitanja.xml"))
{
pitanja = (Pitanja)dsr.Deserialize(str);
}
}
XmlSerializer를 찾고있다 (예를 들어)' ArrayOfOdgovor>'. ' '를'Foo []'배열이나'List '에 비 직렬화합니다. 그러나 소스에'ArrayOfFoo' 엘리먼트가 없다면 그것을 할 수있는 방법을 모르겠습니다. –
phoog
XML 문서를 편집하지만 프로그램이 여전히 작동하지 않습니다. –
안녕 조란, 나는 당신이'[XMLTEXT] '속성과'Odgovor.odgovor' 속성을 장식 할 필요가 생각한다. – phoog