#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
}