![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
[+4 06.08.07]
Регистрация: Aug 2002
Сообщений: 44
|
получился такой класс:
class XMLParser {
public var XMLArr:Array = new Array();
function XMLParser(XMLData) {
trace("XMLParser created");
this.Parse(XMLData.firstChild,this);
}
function Parse(node, nodeParent) {
while (node != null) {
if (node.nodeType !== 3) {
nodeParent[node.nodeName] = new Object();
if (node.hasChildNodes()) {
this.Parse(node.firstChild,nodeParent[node.nodeName]);
}
} else {
nodeParent.value = node.nodeValue;
}
for (var attrib in node.attributes) {
if (nodeParent[node.nodeName]["attributes"]==undefined) {
nodeParent[node.nodeName]["attributes"] = new Object();
}
if (nodeParent[node.nodeName].attributes[attrib]==undefined) {
nodeParent[node.nodeName].attributes[attrib] = new Object();
}
nodeParent[node.nodeName].attributes[attrib] = node.attributes[attrib];
trace(node.nodeName+"== "+attrib+' = '+node.attributes[attrib]);
}
node = node.nextSibling;
}
return true;
}
}
Тут всё делается в лоб, может быть можно сделать более красиво? |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
А почему имя метода Parse и имя свойства XMLArr похожи на имя класса?
И, если уж пишете на AS2, то типизацию надо указывать. Везде. |
|
|||||
|
Регистрация: May 2007
Сообщений: 116
|
if (node.nodeType !== 3) - что это за операция? "!=="
|
|
|||||
|
Ветеран форума
Регистрация: Jul 2006
Адрес: Грузия, Тбилиси
Сообщений: 2,675
|
Цитата:
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Цитата:
|
|
|||||
|
Ветеран форума
Регистрация: Jul 2006
Адрес: Грузия, Тбилиси
Сообщений: 2,675
|
Цитата:
![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 15:38. |
|
|
« Предыдущая тема | Следующая тема » |
|
|