Разбор XML текста с помощью jQuery - PullRequest
1 голос
/ 28 марта 2012

Я работаю с базой данных, в которой есть точки X и Y на группу, она используется для рисования контуров изображений.

Прямо сейчас на моей веб-странице этот код используется для получения баллов.:

var Drawing = $(XML).find('DrawingXML');

alert($(Drawing[1]).text());

Результат:

 <DrawingPoints>
   <Point><X>1</X><Y>2</Y></Point>
   <Point><X>2</X><Y>4</Y></Point>
   <Point><X>3</X><Y>5</Y></Point>
   <Point><X>2</X><Y>2</Y></Point>
   <Point><X>0</X><Y>4</Y></Point>
 </DrawingPoints>

Использование вызова .replace () изменяет только один элемент, поэтому его можно использовать для чего-то вроде этого:

.replace("</DrawingPoints>",""); 

, ноесли я хочу заменить все теги 'Point', мне не повезло.

Моя цель - использовать функцию Canvas для рисования точек, поэтому я хочу, чтобы она анализировалась следующим образом:

ctx.beginPath();
ctx.moveTo(1,2);
ctx.lineTo(2,4);
ctx.lineTo(3,5);
ctx.lineTo(2,2);
ctx.lineTo(0,4);
ctx.stroke();

Я не собираюсь использовать это с браузерами IE, только Safari / Chrome, если это поможет.

Ответы [ 3 ]

0 голосов
/ 28 марта 2012

В этом случае вы, вероятно, сэкономите очень много головной боли, используя библиотеку вместо написания собственного кода.

Я считаю, d3 делает то, что вам нужно:

0 голосов
/ 28 марта 2012

Проверьте этот вопрос / ответ.Это не относится к прототипу и должно помочь вам здесь.

Как проанализировать строку XML с прототипом?

0 голосов
/ 28 марта 2012

Получите все ваши значения X и Y одновременно:

var points = {};
points.X = Array();
points.Y = Array();
var ix = 0;

$(XML).find('DrawingXML DrawingPoints Point X').each(function()
{
    points.X[ix++] = $(this).text();
});
$(XML).find('DrawingXML DrawingPoints Point Y').each(function()
{
    points.Y[ix++] = $(this).text();
});

Это может быть не точно, я не проверял это, и мой Javascript немного заржавел, но вы поняли идею.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...