Я хочу читать XML следующим образом.Использование Xml для создания списка
<?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>
И теперь я пытаюсь читать:
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();
Мой AIPath содержит список Vector2 называется путевых точек.
Что я хочу знать, это то, что я делаю неправильно. Я хочу создать новый путь каждый раз, когда он изменит тот путь, на который он смотрит, и выглядит отлично. То, о чем я смущаюсь, хотя и нужно сделать дальше. После того, как путевые точки = (от I в path.Descendants («pathPoints»), я ожидаю, что я должен сделать что-то, но я невежествен, как и к чему.
Любая помощь будет принята с благодарностью.
.. Редактировать
Один или две детали я забыл добавить
public class AIPath
{
//public Vector2
public List<Vector2> waypoints { get; set; }
public int linkNumber { get; set; }
public int[] potentialLinks { get; set; }
}
Мы не знаем, что выглядит ваш 'тип AIPath', как, что делает его трудно помочь. Кроме того, вы не сказали нам, что делает ваш * текущий * код. (Похоже, что это в основном синтаксическая ошибка ...) –
Кроме того, в настоящее время вы пытаетесь проанализировать элемент 'point' как * одно целое число, когда оно явно содержит * два * целых числа. Можете ли вы изменить формат XML? Похоже, было бы намного чище, если бы два значения были установлены как атрибуты элементов 'point' ... –
@JonSkeet да, я могу изменить формат, и мне нужно получить X и Y. Это было больше, чтобы проиллюстрировать, что Я делал это раньше. Я добавил свой класс пути AI. В настоящий момент это не работает, потому что я не могу понять, что мне нужно добавить, чтобы сообщить синтаксическому анализатору xml добавить все элементы точек пути, которые он находит в таблицу путевых точек AIPath. – Bushes