Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Работа с содержимым XML (https://javascript.ru/forum/misc/17688-rabota-s-soderzhimym-xml.html)

zeraid 29.05.2011 21:05

Работа с содержимым XML
 
Вот xml файл:

<statechart width="3000" height="3000">
<draw2d.Label id="e32cb45d-326f-2508-cf29-1e6f2888fbc1" x="241.0097" y="107.9985"></draw2d.Label>
<draw2d.Label2 id="d054fd53-b28b-789e-55a0-44ce574d3883" x="241.0097" y="198.18"></draw2d.Label2>
<Server id="6c54455f-1925-9ec5-80e3-4e97d77c274b" x="204" y="138">
<connect id="fc832051-5451-9e86-3be9-ca23ead3a10b" start="0" end="3"></connect>
</Server>
<draw2d.Label id="ac8f754d-8861-f23e-f435-551ddc050623" x="500.2345" y="48.185500000000005"></draw2d.Label>
<draw2d.Label2 id="d8ec63a8-2005-29d9-6223-4a24f925b463" x="500.2345" y="104.74000000000001"></draw2d.Label2>
<Temugaz1 id="fc832051-5451-9e86-3be9-ca23ead3a10b" x="486" y="67"></Temugaz1>
</statechart>


Вот таким образом я прохожу по файлу и получаю из него объекты, которые потом добавляю согласно полученным координатам и тп:

draw2d.XMLSerializer_01.prototype.fromXML=function(/*:Document*/ document, /*:XMLDocument*/ xml)
{
this.createStates(document, xml.getElementsByTagName('statechart').item(0));
}

draw2d.XMLSerializer_01.prototype.createStates=function(/*:Document*/ document, /*:Node*/ node)
{
	
var children = node.childNodes;
var children2 = children.childNodes;

for (var i=0; i < children.length; i++)
{

if (children[i].nodeType == 1) /* ELEMENT_NODE = 1 */
{
	
var attr = children[i].attributes;

if (children[i].nodeName == "Server")
{
var box = new draw2d.Server("dav_vod_k_1");
document.addFigure(box,attr.getNamedItem("x").nodeValue,attr.getNamedItem("y").nodeValue);
}
else if (children[i].nodeName == "Temugaz1")
{
var box = new draw2d.Temugaz1("Temugaz1");
document.addFigure(box,attr.getNamedItem("x").nodeValue,attr.getNamedItem("y").nodeValue);
}
}
}
}


Обратите внимание на CONNECT в XML файле. Он является подкатегорией объекта server. Так вот как мне его прочитать? Точнее читать тег connect везде где он вложен?

zeraid 30.05.2011 00:58

Ок спрошу проще

var children = node.childNodes;
var children2 = children.childNodes;


как получить детей ребенка. Выше написано верно?


Часовой пояс GMT +3, время: 07:41.