Привязка координат XML к переменной

#javascript #xml

#javascript #xml

Вопрос:

Я хотел бы получить позицию div из xml xml выглядит следующим образом:

 <coord>140X 120Y</coord>
  

я сохранил их оба в одной переменной

 Coord=(x[i].getElementsByTagName("coord")[0].childNodes[0].nodeValue);
  

я хотел бы разделить X в одной переменной и Y в другой, чтобы я мог задать позицию для моего div
если у вас есть ссылка на какой-нибудь учебник, который мог бы мне помочь, я был бы благодарен

Ответ №1:

Предполагая, что у вас есть данные элемента в строке:

 String XmlCord = "140X 120Y";

String[] Numbers = XmlCord.Split(new char[] {'X', ' ', 'Y'}, StringSplitOptions.RemoveEmptyEntries);

int X, Y;

if (int.TryParse(Numbers[0], out X) == false)
{
    // handle error
}
if (int.TryParse(Numbers[1], out Y) == false)
{
    // handle error
}
  

Я скучаю по sscanf из C .

Возможно, вам было бы лучше сохранить данные в виде атрибутов, что-то вроде:

 <coord X="140" Y="120" ></coord>
  

Комментарии:

1. Это не javascript. Вообще.

2. Упс, не понял, что это на стороне клиента. Какая жалость.

Ответ №2:

Попробуйте использовать регулярные выражения JavaScript, в частности, соответствующие группы. Например:

 var coord = "140X 120Y"
  , regex = /^(d )Xs (d )Y$/
  , m = coord.match(regex), x, y;
if (m) {
  x = Number(m[1]); // => 140
  y = Number(m[2]); // => 120
}