Доброго времени суток
Из данного XML нужно спарсить только "users":
<response>
<table>
<name>Какая-то строка</name>
</table>
<links>
<xml>
Какая-то ссылка
</xml>
</links>
<users>
<user>
<id>1</id>
</user>
</users>
</response>
Чтобы воспроизвести мою ошибку:
1. Перетащите объект DataGrid на сцену
2. В код кадра впишите:
stop();
import fl.controls.DataGrid;
import fl.controls.dataGridClasses.DataGridColumn;
import fl.data.DataProvider;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.events.*;
var myXML: XML;
var dp: DataProvider;
var dg: DataGrid;
var urlReq: URLRequest;
var myLoader: URLLoader;
myXML = XML("<response><table><name>Какая-то строка</name></table><links><xml>Какая-то ссылка</xml></links><users><user><id>1</id></user></users></response>");
var ids: DataGridColumn = new DataGridColumn("id");
ids.headerText = "id";
ids.width = 100;
dp = new DataProvider(myXML.users);
dg = new DataGrid();
addChild(dg);
dg.x = 0;
dg.y = 0;
dg.width = 550;
dg.height = 454;
dg.headerHeight = 40;
dg.rowHeight = 30;
dg.columns = [ids];
dg.dataProvider = dp;
dg.rowCount = dp.length;
dg.setSize(550, 400);
У меня при компиляции возникает такая ошибка:
Причём, если XML выглядит так:
<?xml version="1.0" encoding="UTF-8"?>
<response>
<table>
<name>Какая-то строка</name>
</table>
<links>
<xml>
Какая-то ссылка
</xml>
</links>
<user>
<id>1</id>
</user>
</response>
а dp = new DataProvider(myXML), то ошибок нет и результат выглядит так:
Появилось 2 лишних ряда ("table" и "links")
Что с этим делать?