Добрый вечер!
Есть много .xml с следующей структурой:
С этих файлов надо сформировать .xls таблицу с данными с определенных тегов .xml так чтоб данные с каждого файла были отдельной строкой в этой эксельке, все файли с разными именами одинаковое только расширение и количество символов в имени файлов. Как это реализовать? Помогите!
Попробовал набросать код без цикла покачто:
Есть много .xml с следующей структурой:
XML:
<DECLARBODY>
<HNY>1</HNY>
<HZ>1</HZ>
<HZY>2019</HZY>
<HDAY xsi:nil="true"></HDAY>
<HMONTH xsi:nil="true"></HMONTH>
<HDAY1 xsi:nil="true"></HDAY1>
<HMONTH1 xsi:nil="true"></HMONTH1>
<HNAME>ФГ "Боря"</HNAME>
<HTIN>2122222222</HTIN>
<HKVED>01.11</HKVED>
<HKOPFG>110</HKOPFG>
<HZIP>745640</HZIP>
<HINTURB xsi:nil="true"></HINTURB>
<HTEL xsi:nil="true"></HTEL>
<HFAX xsi:nil="true"></HFAX>
<HLOC></HLOC>
<HEMAIL xsi:nil="true"></HEMAIL>
<HSTI_COPY> </HSTI_COPY>
<HSTI></HSTI>
<HKOATUU>6</HKOATUU>
<T11RXXXXG3 ROWNUM="1">45.7013</T11RXXXXG3>
<T11RXXXXG4 ROWNUM="1">28974.91</T11RXXXXG4>
<T11RXXXXG5 ROWNUM="1">0.95</T11RXXXXG5>
<T11RXXXXG6 ROWNUM="1">12579.82</T11RXXXXG6>
<T11RXXXXG7 ROWNUM="1">1257.98</T11RXXXXG7>
<T11RXXXXG8 ROWNUM="1">1257.98</T11RXXXXG8>
<T11RXXXXG9 ROWNUM="1">6289.91</T11RXXXXG9>
<T11RXXXXG10 ROWNUM="1">3773.95</T11RXXXXG10>
<R03G2>2019</R03G2>
<R03G6>12579.82</R03G6>
<R03G7>1257.98</R03G7>
<R03G8>1257.98</R03G8>
<R03G9>6289.91</R03G9>
<R03G10>3773.95</R03G10>
<HD1>1</HD1>
<HD2>1</HD2>
<HFILL>08022019</HFILL>
<HBOS></HBOS>
<HKBOS></HKBOS>
<HBUH xsi:nil="true"></HBUH>
<HKBUH xsi:nil="true"></HKBUH>
</DECLARBODY>
С этих файлов надо сформировать .xls таблицу с данными с определенных тегов .xml так чтоб данные с каждого файла были отдельной строкой в этой эксельке, все файли с разными именами одинаковое только расширение и количество символов в имени файлов. Как это реализовать? Помогите!
Попробовал набросать код без цикла покачто:
Код:
#include <Array.au3> ;подключаем
#include <Excel.au3>
$XML = FileOpenDialog('Choose XML file', '', 'XML File (*.xml)') ;открываем
$sFilePath1 = @ScriptDir & "\result1.xls"
$String = FileRead($XML) ;читаем
$RegExp = StringRegExp($String, '(?s)<HLOC>(.*?)</HLOC>', 3) ;вытягиваем
Local $aResult[4][5]
$aResult[0][0] = 'Назва'
$aResult[0][1] = 'код'
$aResult[0][2] = 'адреса'
$aResult [1][0] = $RegExp здесь почемуто нормально не отображается
$oExcel = _Excel_Open(True)
$oWorkbook = _Excel_BookNew($oExcel)
_Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $aResult)
_Excel_BookSaveAs($oWorkbook, $sFilePath1) - а эта строка должна сохранить но не сохраняет!
_Excel_BookClose($oWorkbook)
_Excel_Close($oExcel)
Последнее редактирование модератором: