2009-07-10 2 views
1

У меня есть XML, который выглядит следующим образом:Как я могу интерпретировать свойство E4X как Date в Flex?

<item> 
    <itemDate>07/10/2009</itemDate> 
</item> 

Я хотел бы быть в состоянии прочитать это в качестве объекта E4X: item.itemDate и имеют itemDate быть ActionScript Date объект вместо строки. Это возможно?

ответ

4

Если я правильно понимаю вас, Нет. Все, что входит в XML, будет строкой - даже другими примитивами типа «1» или «ложными».

Когда мне приходится иметь дело с чем-то подобным, я перебираю XML и создаю объект зеркалирования (иногда нетипизированный объект, даже) и преобразовываю значения String в соответствующие типы данных.

Или, я просто конвертирую значение в соответствующий тип данных непосредственно перед использованием.

3

Просто передать значение в Date constructor:

for each(var itemNode:XML in doc.item) 
{ 
    var itemDate : Date = new Date(itemNode.itemDate); 
} 
+0

Будет ли это работать? В самом деле? Объект itemDate на самом деле не является строкой; это текстовый узел XML-объекта. Это будет работать? –

+0

Попробуй и посмотри. AVM делает значительное количество неявных принуждений. Если это не сработает, просто измените его на itemNode.itemDate.toString() –

+0

+1 ... просто приложился, чтобы ответить на него сам! –