![]() |
|
||||||||||
|
|||||
|
Guest
Сообщений: n/a
|
Люди, подскажите, plz, как в XML объявить данные, а затем вытащить их во Flashe?
|
|
|||||
|
Guest
Сообщений: n/a
|
Пишу во флэше
function ReadDataFromXML()
{
doc = new XML();
doc.load("diagram.xml");
xmlElt=doc;
i=0;
j=0;
colichestvo_parametrov=0;
paramName = new Array();
paramAttr = new Array();
while (xmlElt!=null)
{
paramName[i]=xmlElt.nodeName;
paramAttr[i]=xmlElt.attributes.value;
pname=xmlElt.parentNode.nodeName;
trace(pname);
if (paramName[i]!=null)
{
i++;
}
if (xmlElt.firstChild!=null)
{
xmlElt=xmlElt.firstChild;
j++;
}else
{
if (xmlElt.nextSibling!=null)
{
xmlElt=xmlElt.nextSibling;
}else
{
xmlElt=xmlElt.parentNode;
xmlElt=xmlElt.nextSibling;
j--;
}
}
}
colichestvo_parametrov=i;
trace(i);
for (i=0;i<=colichestvo_parametrov;i++)
{
trace(paramName[i]);
trace(paramAttr[i]);
}
}
<?xml version="1.0" encoding="utf-8" ?>
<diagrama>
<stolbzi>
<colvo value="2"></colvo>
<stolbez0>
<height value="100"></height>
<width value="10"></width>
<color value="0x000000"></color>
<x value="10"></x>
<y value="100"></y>
</stolbez0>
<stolbez1>
<height value="80"></height>
<width value="10"></width>
<color value="0x000000"></color>
<x value="30"></x>
<y value="100"></y>
</stolbez1>
</stolbzi>
<setka>
<x value="5"></x>
<y value="105"></y>
<step value="10"></step>
<equstep value="1"></equstep>
<xstart value="0"></xstart>
<ystart value="0"></ystart>
<dlinax value="100"></dlinax>
<dlinay value="100"></dlinay>
<otstupOX value="10"></otstupOX>
<otstupOY value="10"></otstupOY>
<smesh value="5"></smesh>
<riskain value="1"></riskain>
<riskaout value="3"></riskaout>
<strDlina value="4"></strDlina>
<strShir value="2"></strShir>
</setka>
</diagrama>
|
|
|||||
|
Тебе во-первых не хватает строчки типа doc.ignoreWhite=true;
|
|
|||||
|
В doc записывается xml, а xmlElt-у нельзя вот так присвоить doc. А что именно из xml ты хочешь выдрать?
|
|
|||||
|
Guest
Сообщений: n/a
|
данные для построения диаграммы... а как можно присвоить?
Даже если я пишу: function ReadDataFromXML(filename)
{
Data = new XML();
Data.load(filename);
Data.ignoreWhite=true;
if (Data.loaded)
{
}else
{
trace("ERROR!");
}
}
Последний раз редактировалось Linuxoid_Alex; 24.06.2004 в 11:39. |
|
|||||
|
Вообщем мне это вот так:
//первый кадр doc = new XML(); doc.load("any.xml"); doc.ignoreWhite = true; doc.onLoad = function() { play(); } stop(); //второй кодр paramAttr = new Array(); paramName = new Array(); k = 0; m = 0; rootNode = doc.firstChild; xmlRootArray = rootNode.childNodes; len = xmlRootArray.length; for (i=0; i<len; i++) { xmlSecondArray = xmlRootArray[i].childNodes; len2 = xmlSecondArray.length; for (j=0; j<len2; j++) { k++; if (xmlSecondArray[j].firstChild == null) { m++; paramName[m] = xmlSecondArray[j].nodeName; paramAttr[m] = xmlSecondArray[j].attributes.value; } else { xmlThirdArray = xmlSecondArray[j].childNodes; len3 = xmlThirdArray.length; for (l=0; l<len3; l++) { m++; paramName[m] =xmlThirdArray[l].nodeName; paramAttr[m] = xmlThirdArray[l].attributes.value; } } } } for(i=1;i<m;i++){ trace(paramName[i]); trace(paramAttr[i]); } stop(); Наверное можно сделать более культурно, но у меня сегодня Днюха!!! А думать лениво ![]() |
|
|||||
|
Пардон, не знал что тут все пробелы съедятся )
|
|
|||||
|
Регистрация: Jan 2004
Адрес: нигде - не осталось на Земле свободных земель(
Сообщений: 1,176
|
зачем xmlRootArray заводить - мона ж прям с rootNode.childNodes и работать...
|
|
|||||
|
Понятно, что можно. Так ну нагляднее чтоли
![]() |
![]() |
Часовой пояс GMT +4, время: 15:11. |
|
|
« Предыдущая тема | Следующая тема » |
|
|