Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Вытащить столбец из XML (http://www.flasher.ru/forum/showthread.php?t=204645)

KingMaks 07.11.2013 19:47

Вытащить столбец из XML
 
На excel создал таблицу, ввел столбец чисел, экспортировал в XML формат
вопрос: как мне извлечь этот столбец в вектор чисел в AS3??
Сам фаил я загрузил в переменную XML а вот как дальше?
вот сам фаил XML:
Код:

<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
 xmlns:o="urn:schemas-microsoft-com:office:office"
 xmlns:x="urn:schemas-microsoft-com:office:excel"
 xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
 xmlns:html="http://www.w3.org/TR/REC-html40">
 <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
  <Author>Admin</Author>
  <LastAuthor>Admin</LastAuthor>
  <Created>2013-11-05T14:52:12Z</Created>
  <Company>SPecialiST RePack</Company>
  <Version>14.00</Version>
 </DocumentProperties>
 <OfficeDocumentSettings xmlns="urn:schemas-microsoft-com:office:office">
  <AllowPNG/>
 </OfficeDocumentSettings>
 <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
  <WindowHeight>7995</WindowHeight>
  <WindowWidth>20115</WindowWidth>
  <WindowTopX>240</WindowTopX>
  <WindowTopY>150</WindowTopY>
  <ProtectStructure>False</ProtectStructure>
  <ProtectWindows>False</ProtectWindows>
 </ExcelWorkbook>
 <Styles>
  <Style ss:ID="Default" ss:Name="Normal">
  <Alignment ss:Vertical="Bottom"/>
  <Borders/>
  <Font ss:FontName="Calibri" x:CharSet="204" x:Family="Swiss" ss:Size="11"
    ss:Color="#000000"/>
  <Interior/>
  <NumberFormat/>
  <Protection/>
  </Style>
 </Styles>
 <Worksheet ss:Name="List1">
  <Table ss:ExpandedColumnCount="1" ss:ExpandedRowCount="5" x:FullColumns="1"
  x:FullRows="1" ss:DefaultRowHeight="15">
  <Row ss:AutoFitHeight="0">
    <Cell><Data ss:Type="Number">23</Data></Cell>
  </Row>
  <Row ss:AutoFitHeight="0">
    <Cell><Data ss:Type="Number">1</Data></Cell>
  </Row>
  <Row ss:AutoFitHeight="0">
    <Cell><Data ss:Type="Number">2</Data></Cell>
  </Row>
  <Row ss:AutoFitHeight="0">
    <Cell><Data ss:Type="Number">3</Data></Cell>
  </Row>
  <Row ss:AutoFitHeight="0">
    <Cell><Data ss:Type="Number">5</Data></Cell>
  </Row>
  </Table>
  <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
  <PageSetup>
    <Header x:Margin="0.3"/>
    <Footer x:Margin="0.3"/>
    <PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/>
  </PageSetup>
  <Unsynced/>
  <Selected/>
  <Panes>
    <Pane>
    <Number>3</Number>
    <RangeSelection>C1</RangeSelection>
    </Pane>
  </Panes>
  <ProtectObjects>False</ProtectObjects>
  <ProtectScenarios>False</ProtectScenarios>
  </WorksheetOptions>
 </Worksheet>
 <Worksheet ss:Name="Лист2">
  <Table ss:ExpandedColumnCount="1" ss:ExpandedRowCount="1" x:FullColumns="1"
  x:FullRows="1" ss:DefaultRowHeight="15">
  <Row ss:AutoFitHeight="0"/>
  </Table>
  <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
  <PageSetup>
    <Header x:Margin="0.3"/>
    <Footer x:Margin="0.3"/>
    <PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/>
  </PageSetup>
  <Unsynced/>
  <ProtectObjects>False</ProtectObjects>
  <ProtectScenarios>False</ProtectScenarios>
  </WorksheetOptions>
 </Worksheet>
 <Worksheet ss:Name="Лист3">
  <Table ss:ExpandedColumnCount="1" ss:ExpandedRowCount="1" x:FullColumns="1"
  x:FullRows="1" ss:DefaultRowHeight="15">
  <Row ss:AutoFitHeight="0"/>
  </Table>
  <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
  <PageSetup>
    <Header x:Margin="0.3"/>
    <Footer x:Margin="0.3"/>
    <PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/>
  </PageSetup>
  <Unsynced/>
  <ProtectObjects>False</ProtectObjects>
  <ProtectScenarios>False</ProtectScenarios>
  </WorksheetOptions>
 </Worksheet>
</Workbook>


Wolsh 08.11.2013 23:58

Код AS3:

                        var ns:Namespace = new Namespace(ns, "urn:schemas-microsoft-com:office:spreadsheet");
                        var column:XMLList = xml..ns::Row.ns::Cell.ns::Data.text();
                        var len:uint = column.length();
                        var dataVec:Vector.<uint> = new Vector.<uint>();
                        for (var i:uint = 0; i < len; i++)
                        {
                                dataVec.push(column[i]);
                        }
                        trace(dataVec);


KingMaks 10.11.2013 16:18

Спасибо)

alatar 10.11.2013 19:59

А не проще ли было бы, в данном случае, использовать формат CSV вместо XML.

elder_Nosferatu 11.11.2013 00:03

@alatar
Тогда вопрос бы звучал так: "Вытащить столбец из CSV"

alatar 11.11.2013 00:05

При одном столбце бы не звучал :)


Часовой пояс GMT +4, время: 10:30.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.