Как читать текст XML (не атрибуты) в float? - PullRequest
0 голосов
/ 27 января 2011

Эй, ребята, я пытаюсь прочитать 3D-точки (X, Y, Z) (все с плавающей точкой) из XML-файла на C #.

XML для каждой точки раньше форматировался так:

<Point X="-4865.764" Y="-4945.29" Z="261.1602"/>

и я мог прочитать это следующим образом:

return new XElement("Point", new XAttribute("X", X), new XAttribute("Y", Y), new XAttribute("Z", Z));

Но теперь я должен читать свои точки из XML, отформатированного так:

<Point>679.7905 -4312.875 60.93259</Point> 

Как можноЯ прочитал XML в мои переменные с плавающей точкой (X, Y и Z), когда он отформатирован, как показано выше?

Спасибо большое,

Джесси

1 Ответ

2 голосов
/ 27 января 2011

Вам нужно разделить значение, например,

string[] values = element.Value.Split(' ');
// Possibly do validation here to check there are 3 values?
// Note the specification of the culture here - otherwise if you're in a culture
// which uses "," as the decimal separator, it won't do what you want...
float x = float.Parse(values[0], CultureInfo.InvariantCulture);
float y = float.Parse(values[1], CultureInfo.InvariantCulture);
float z = float.Parse(values[2], CultureInfo.InvariantCulture);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...