1
XML-Datei:kann nicht XML-Array lesen, wenn Array Geordnetes Tag
<AttackPattern>
<AttackPatternLeft>
<Pattern>
<Player Id="GK">
<PositionX>0.0</PositionX>
<PositionY>0.0</PositionY>
</Player>
<Player Id="DL">
<PositionX>0.0</PositionX>
<PositionY>1.0</PositionY>
</Player>
<Player Id="DR">
<PositionX>0.0</PositionX>
<PositionY>2.0</PositionY>
</Player>
<Player Id="MDFL">
<PositionX>0.0</PositionX>
<PositionY>3.0</PositionY>
</Player>
<Player Id="MDFR">
<PositionX>0.0</PositionX>
<PositionY>4.0</PositionY>
</Player>
</Pattern>
</AttackPatternLeft>
</AttackPattern>
TeamContainer.cs
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using System.Xml;
using System.Xml.Serialization;
using System.IO;
[XmlRoot("AttackPattern")]
public class TeamContainer
{
was soll ich hier, so kann ich nach vorne durch approching die in XML gehen schreiben müssen Sohn-Feld oder Element AttackPatternLeft
//[XmlElement("AttackPatternLeft")]
[XmlArray("Pattern")]
[XmlArrayItem("Player")]
public List<Team> listTeam = new List<Team>();
// Use this for initialization
public static TeamContainer Load(string path)
{
TextAsset lobjTextAssetXML = Resources.Load<TextAsset>(path);
XmlSerializer serializer = new XmlSerializer (typeof(TeamContainer));
StringReader reader = new StringReader (lobjTextAssetXML.text);
TeamContainer lobjTeamContainer = serializer.Deserialize (reader) as TeamContainer;
reader.Close();
return lobjTeamContainer;
}
}
TeamLoader.cs
using UnityEngine;
using System.Collections;
public class TeamLoader : MonoBehaviour {
public const string path = "AttackPattern";
// Use this for initialization
void Start() {
TeamContainer lobjTeamContainer = TeamContainer.Load (path);
//print ("check->"+ lobjTeamContainer.listTeam.Count);
foreach (Player lobjPlayer in lobjTeamContainer.listTeam) {
print ("------------------------");
print (lobjPlayer.strID);
print (lobjPlayer.fPositionX);
print (lobjPlayer.fPositionY);
}
}
}
Wenn ich den Tag <AttackPatternLeft>
aus der XML-Datei zu entfernen Ich bin in der Lage, den Muster-Array in XML zu lesen, aber kann es nicht lesen, wenn ich Muster Array als Kind <AttackPatternLeft>
Element mache
Erhalten Sie eine Ausnahme? Wenn Sie eine Instanz von TeamContainer in XML serialisieren (und die Musterauflistung enthält einige Daten), nimmt die resultierende XML-Datei das Formular wie oben an? (Vielleicht überprüfen Sie alle richtigen Attribute auf allen serialisierbaren Eigenschaften?) – Fredrik
Nein Ich erhalte keine Ausnahmefehler. Ich bin gerade nicht in der Lage, das Pattern-Array zu bekommen, wenn das Pattern-Array das Eltern-Tag hat. Wenn ich diese Zeile entferne, bin ich in der Lage, das XML zu lesen ..... hier ist mein anderer Dateicode zum Laden und Anzeigen von XML hinzugefügt in einem obigen Fragekommentar –