Je veux lire XML comme ceci.Utiliser Xml pour créer une liste
<?xml version="1.0" encoding="utf-8" ?>
<parent>
<path>
<pathPoints>
<point>
2 0
</point>
<point>
2 1
</point>
3 1
<point>
3 2
</point>
<point>
4 2
</point>
<point>
4 4
</point>
<point>
3 4
</point>
<point>
3 5
</point>
<point>
2 5
</point>
<point>
2 7
</point>
<point>
7 7
</point>
<point>
7 5
</point>
<point>
10 5
</point>
<point>
10 2
<point>
</point>
15 2
</point>
<point>
15 6
</point>
<point>
16 6
</point>
<point>
16 7
</point>
<point>
17 7
</point>
<point>
17 10
</point>
<point>
19 10
</point>
</pathPoints>
</parent>
</path>
Et maintenant, je suis en train de le lire:
paths = (from path in doc.Descendants("path")
select new AIPath()
{
waypoints = (from i in path.Descendants("pathPoints")
{
int j = Convert.ToInt32(i.Element("point").Value),
}).ToList();
}
).ToList();
Mon AIPath contient une liste de points de cheminement appelé de Vecteur2.
Ce que je veux savoir, c'est ce que je fais de mal. Je veux créer un nouveau chemin chaque fois qu'il change le chemin qu'il regarde, ce qui semble bien. Ce que je suis confus au sujet de waht est à faire ensuite. Après les points de passage = (de i à path.Descendants (« PathPoints »), je prévois que je dois faire quelque chose, mais je ne suis aucune idée de quoi.
Toute aide serait grandement appréciée.
.. éditer
Un ou deux détails que j'oublié d'ajouter
public class AIPath
{
//public Vector2
public List<Vector2> waypoints { get; set; }
public int linkNumber { get; set; }
public int[] potentialLinks { get; set; }
}
Nous ne savons pas ce que votre 'type AIPath' ressemble, ce qui le rend difficile à aider. De plus, vous ne nous avez pas dit ce que votre code * courant * fait. (Il semble que ce soit fondamentalement une erreur de syntaxe ...) –
En outre, vous semblez actuellement essayer d'analyser un élément 'point' comme un entier * simple *, quand il contient clairement * deux * entiers. Êtes-vous capable de changer le format XML? On dirait que ce serait beaucoup plus propre si les deux valeurs étaient définies comme attributs des éléments 'point' ... –
@JonSkeet oui je peux changer le format et j'ai besoin de X et Y. C'était plus pour illustrer J'ai déjà fait J'ai ajouté ma classe de chemin AI. Cela ne fonctionne pas pour le moment car je ne peux pas déterminer ce que j'ai besoin d'ajouter pour dire à l'analyseur xml d'ajouter tous les éléments de points de cheminement qu'il trouve dans la table de points de cheminement AIPath. – Bushes