1
XMLファイルがある場合はXMLの配列を読み取ることができません:アレイは、親タグ
<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を私はので、私はapprochingによってXMLで前方に行くことができ、ここで記述する必要がどうあるべきか
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using System.Xml;
using System.Xml.Serialization;
using System.IO;
[XmlRoot("AttackPattern")]
public class TeamContainer
{
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);
}
}
}
私はXMLファイルからタグ<AttackPatternLeft>
を削除した場合、私はXMLでのパターン配列を読み取ることができるが、私は<AttackPatternLeft>
要素
例外はありますか? TeamContainerのインスタンスをXMLにシリアル化して(パターンコレクションにデータが含まれている場合)、結果のXMLファイルは上記の形式になりますか? (おそらく、すべてのシリアライズ可能なプロパティの属性が正しいことを確認してください) – Fredrik
いいえ例外エラーは発生しません。パターン配列に親タグがある場合、パターン配列を取得できません。私はその行を削除する場合、私はXMLを読み込むことができる.....ここに上記の質問のコメントに追加されたXMLをロードして表示するための私の他のファイルコードです –