用jQuery解析XML文本
我正在使用一个数据库,每个组有X和Y个点,它用于绘制图像轮廓。用jQuery解析XML文本
现在在我的网页侧这段代码是我用它来获得积分:
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>","");
但如果我想要替换所有'点'标签我运气不好。
我的目标是使用画布功能绘制点出来,所以我希望它被解析如下:
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 /铬使用,如果这有帮助。
获取所有的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是有点生疏,但你的想法。
这似乎很有趣,如果我没有解决方案,我可以使用它。这只是我对编程的一般新认识,而且看着一个新的图书馆远远超过了我的头。 – c9four 2012-03-28 16:24:29
我认为图书馆是最好的学习方式 - 你可以看到如何设计一个解决问题的方法,并检查源的具体实现细节。 – RobinGower 2012-03-29 15:22:40
感谢您的帮助,但问题是找到作品“DrawingXML”,但DrawingPoints>点>ÿ所有这些“XML”项目被保存在文本他们不是真的XML如果是有道理的...如果有一种方式通过jQuery将文本转换为XML然后做到这一点......那太棒了。 – c9four 2012-03-28 16:12:55
如果您将该字符串加载到jquery中,您将拥有要搜索并循环的对象。 – rcdmk 2012-03-28 16:27:25
alert($(points).text());仍输出空白:/ – c9four 2012-03-28 16:40:02