2011-01-27 2 views
0

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

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), когда это отформатирован, как показано выше?

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

Джесси

ответ

2

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

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); 
Смежные вопросы