![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Сколько не пытаюсь, все ровно xml плохо понимаю...
Прошу помощи. есть XML <?xml version="1.0"?>
<root>
<slovo>
<inx>Продукты завтрака</inx>
<kur>nan [нан]</kur>
<rus>хлеб</rus>
<eng>bread</eng>
<ger>Brot</ger>
<fre>pain</fre>
</slovo>
<slovo>
<inx>Продукты завтрака</inx>
<kur>shir [шир]</kur>
<rus>молоко</rus>
<eng>milk</eng>
<ger>Milch</ger>
<fre>lait</fre>
</slovo>
<slovo>
<inx>Продукты завтрака</inx>
<kur>tomast [томаст]</kur>
<rus>сметана</rus>
<eng>sour cream</eng>
<ger>saure Sahne</ger>
<fre>creme fraiche</fre>
</slovo>
<slovo>
<inx>Овощи</inx>
<kur>kelem[кaлaм]</kur>
<rus>капуста</rus>
<eng>cabbage;</eng>
<ger>Kohl</ger>
<fre>chou</fre>
</slovo>
<slovo>
<inx>Овощи</inx>
<kur>keleme broccoli [кaлaмэ броколи]</kur>
<rus>брокколи</rus>
<eng>broccoli</eng>
<ger/>
<fre/>
</slovo>
<slovo>
<inx>Фрукты</inx>
<kur>tiri [тыри]</kur>
<rus>виноград</rus>
<eng>grapes</eng>
<ger>Wein</ger>
<fre>vigne</fre>
</slovo>
<slovo>
<inx>Фрукты</inx>
<kur>sev [сев]</kur>
<rus>яблока</rus>
<eng>apple</eng>
<ger>Apfel</ger>
<fre>pomme</fre>
</slovo>
<slovo>
<inx>Фрукты</inx>
<kur>hurme [хърме]</kur>
<rus>груша</rus>
<eng>pear</eng>
<ger>Birne</ger>
<fre>poirier</fre>
</slovo>
</root>
<inx></inx> Раздел, к которому относится слово <kur></kur> слово на языке kur <rus></rus> слово на языке rus <eng></eng> слово на языке eng <ger></ger> слово на языке ger <fre></fre> слово на языке fre Во флеше есть 1 Label InputText и 4 Label DinamicText Надо чтобы вводя в InputText слово на Русском (например "груша") оставшиеся 4 Динамические поля заполнялись теми данными которые между <inx></inx> <kur></kur> <eng></eng> <ger></ger> <fre></fre> Помогите пожалуйста! ![]() |
|
|||||
|
Ну, тут тебе поможет indexOf(). Циклом проверям все дочерние элементы <rus> на соответствие с текстом в поле и если indexOf() возвращает значение отличное от -1, выводим остальные элементы текущего родителя.
Добавлено через 37 минут Так как делать мне особо нечего, сделал тебе пример: var x:XML = new XML(); x.ignoreWhite = true; x.load("index.xml"); x.onLoad = function() { var arr:Array = x.firstChild.childNodes; for(i = 0; i < arr.length; i++) { if(arr[i].childNodes[2].firstChild.nodeValue.indexOf(texter.text) != -1) { inx.htmlText = "<b>"+arr[i].childNodes[0].firstChild.nodeValue+"</b>"; kur.text = arr[i].childNodes[1].firstChild.nodeValue; eng.text = arr[i].childNodes[3].firstChild.nodeValue; ger.text = arr[i].childNodes[4].firstChild.nodeValue; fre.text = arr[i].childNodes[5].firstChild.nodeValue; } } } P.S кнопку и обработчик сделай уже сам. |
|
|||||
|
СпасибО! Сейчас посмотрю...
Весьма признателен) Добавлено через 19 минут Не разобрался, а для чего там <b> ? ((( выложу исходник =) |
|
|||||
|
1. Замените ваш код на этот:
kn1._visible = false; var x:XML = new XML(); x.ignoreWhite = true; x.load("baza.xml"); x.onLoad = function() { kn1._visible = true; }; kn1.onRelease = function() { var arr:Array = x.firstChild.childNodes; for (i=0; i<arr.length; i++) { var n:String = arr[i].childNodes[2].firstChild.nodeValue; if (n.indexOf(input.text) == 0 and n.length == input.length) { inx.text = arr[i].childNodes[0].firstChild.nodeValue; kur.text = arr[i].childNodes[1].firstChild.nodeValue; eng.text = arr[i].childNodes[3].firstChild.nodeValue; ger.text = arr[i].childNodes[4].firstChild.nodeValue; fre.text = arr[i].childNodes[5].firstChild.nodeValue; flag = true; } } if (!flag)inx.text = "Ничего не найдено"; flag = false; }; 3. Добавьте поле fre для французского языка. 4. добавьте текст в поля <rus>, его там нет ! при соблюдении вышеописанных условий, все работает я проверял. Добавлено через 6 минут Я бы прислал вам рабочие исходники... но у меня CS4, могу разве что сохранить в режиме совсестимости с CS3. Если подходит то могу выложить. Последний раз редактировалось Fatality; 26.01.2009 в 01:05. |
|
|||||
|
спасибо уважаемый Фаталити! Буду признателен.
Добавлено через 8 минут Все работает! Спасибо! исходник не нужен) |
|
|||||
|
Вот рабочий исходник(будет работать только в версии CS3+), для проверки введи например "молоко", у этого раздела заполнены все поля.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 18:51. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| xml |
|
|