@maiskiykot
Free coder

Как распарсить xml?

Получил xlsx файл, в котором отсутствует sheet1.xml. Вместо него засунут sheet.xml. Кусок его привожу ниже. Любой парсер ничего не парсит в этом чудо-коде. Вывод пуст. Подскажите: в чем ошибка файла и чем его можно распарсить? Проблема не в самом парсере а в том, что файл какой-то кривой и при его лечении автором файла самодельный парсер перестанет работать правильно, что чревато переделками. Хотелось бы вставить в свой парсер возможность работать с правильным файлом и с неправильным. Что неправильно в приведенном файле?

?xml version="1.0" encoding="utf-8"?><x:worksheet xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:x="http://schemas.openxmlformats.org/spreadsheetml/2006/main"><x:sheetPr><x:outlinePr summaryBelow="1" summaryRight="1" /></x:sheetPr><x:dimension ref="A1:I161" /><x:sheetViews><x:sheetView workbookViewId="0" /></x:sheetViews><x:sheetFormatPr defaultRowHeight="15" /><x:cols><x:col min="1" max="3" width="25.710625" style="0" customWidth="1" /><x:col min="4" max="4" width="31.310625" style="0" customWidth="1" /><x:col min="5" max="5" width="42.680625" style="0" customWidth="1" /><x:col min="6" max="6" width="30.250625" style="0" customWidth="1" /><x:col min="7" max="7" width="39.430625" style="0" customWidth="1" /><x:col min="8" max="8" width="95.300625" style="0" customWidth="1" /><x:col min="9" max="9" width="92.87062499999999" style="0" customWidth="1" /></x:cols><x:sheetData><x:row r="1" spans="1:9"><x:c r="A1" s="1" t="s"><x:v>0</x:v></x:c><x:c r="B1" s="1" t="s"><x:v>1</x:v></x:c><x:c r="C1" s="1" t="s"><x:v>2</x:v></x:c><x:c r="D1" s="1" t="s"><x:v>3</x:v></x:c><x:c r="E1" s="1" t="s"><x:v>4</x:v></x:c><x:c r="F1" s="1" t="s"><x:v>5</x:v></x:c><x:c r="G1" s="1" t="s"><x:v>6</x:v></x:c><x:c r="H1" s="1" t="s"><x:v>7</x:v></x:c><x:c r="I1" s="1" t="s"><x:v>8</x:v></x:c></x:row><x:row r="2" spans="1:9"><x:c r="A2" s="1" t="n"><x:v>536942</x:v></x:c><x:c r="B2" s="1" t="n"><x:v>177832890</x:v></x:c><x:c r="C2" s="1" t="n"><x:v>177832890</x:v></x:c><x:c r="D2" s="1" t="s"><x:v>9</x:v></x:c><x:c r="E2" s="1" t="s"><x:v>10</x:v></x:c><x:c r="H2" s="1" t="s"><x:v>11</x:v></x:c><x:c r="I2" s="1" t="s"><x:v>12</x:v></x:c></x:row><x:row r="3" spans="1:9"><x:c r="A3" s="1" t="n"><x:v>551108</x:v></x:c><x:c r="B3" s="1" t="n"><x:v>177832900</x:v></x:c><x:c r="C3" s="1" t="n"><x:v>177832900</x:v></x:c><x:c r="D3" s="1" t="s"><x:v>13</x:v></x:c><x:c r="E3" s="1" t="s"><x:v>14</x:v></x:c><x:c r="H3" s="1" t="s"><x:v>15</x:v></x:c><x:c r="I3" s="1" t="s"><x:v>16</x:v></x:c></x:row><x:row r="4" spans="1:9"><x:c r="A4" s="1" t="n"><x:v>551492</x:v></x:c><x:c r="B4" s="1" t="n"><x:v>177832904</x:v></x:c><x:c r="C4" s="1" t="n"><x:v>177832904</x:v></x:c><x:c r="D4" s="1" t="s"><x:v>17</x:v></x:c><x:c r="E4" s="1" t="s"><x:v>18</x:v></x:c><x:c r="F4" s="1" t="s"><x:v>19</x:v></x:c><x:c r="H4" s="1" t="s"><x:v>15</x:v></x:c><x:c r="I4" s="1" t="s"><x:v>16</x:v></x:c></x:row><x:row r="5" spans="1:9"><x:c r="A5" s="1" t="n"><x:v>551502</x:v></x:c><x:c r="B5" s="1" t="n"><x:v>177832908</x:v></x:c><x:c r="C5" s="1" t="n"><x:v>177832908</x:v></x:c><x:c r="D5" s="1" t="s"><x:v>20</x:v></x:c><x:c r="E5" s="1" t="s"><x:v>21</x:v></x:c><x:c r="H5" s="1" t="s"><x:v>22</x:v></x:c><x:c r="I5" s="1" t="s"><x:v>23</x:v></x:c></x:row><x:row r="6" spans="1:9"><x:c r="A6" s="1" t="n"><x:v>552538</x:v></x:c><x:c r="B6" s="1" t="n"><x:v>177832909</x:v></x:c><x:c r="C6" s="1" t="n"><x:v>177832909</x:v></x:c>
  • Вопрос задан
  • 176 просмотров
Пригласить эксперта
Ответы на вопрос 1
@EliasMath
чем его можно распарсить

А какие были варианты? Можно самому написать парсер и парсить по регуляркам.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы