Verschachtelte XML zu CSV/XLSX

DeusoftheWired

Fleet Admiral
Registriert
Juni 2009
Beiträge
14.362
Moin,

habe hier für die Arbeit eine XML, die ich für die weitere Verwendung in eine CSV oder gleich XLSX transformiert bräuchte. Kann man normalerweise in Notepad++ auch über simples Suchen+Ersetzen machen, indem man die öffnenden Tags durch nichts ersetzt und die schließenden Tags durch \t. Das Problem bei dieser XML ist, daß sie verschachtelt ist, also die Reihenfolge nicht einfach öffnendes Tag – Datum – schließendes Tag ist, sondern das ganze über zwei bis drei Tags verschachtelt. Seht selbst:

XML:
<?xml version='1.0' encoding='UTF-8'?>
<replikat xmlns="http://foo.de/bla/uploads/">
<datum>2025-09-25</datum>
<carrierCode>ABCDEF</carrierCode>
<datensatzliste>
<ds><plz>12345</plz><o>Foo-Ort</o><ot>Foo-Ortsteil</ot><s>Foo-Straße</s><h>31</h><hz>A</hz><pl><p><produkt>Foo-Produkt</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>100</downBB><upBB>40</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 2</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>150</downBB><upBB>75</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 3</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>250</downBB><upBB>125</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 4</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>250</downBB><upBB>125</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 5</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>300</downBB><upBB>150</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 6</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>300</downBB><upBB>150</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 7</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>400</downBB><upBB>200</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 8</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>400</downBB><upBB>200</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 9</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>500</downBB><upBB>250</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 10</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>500</downBB><upBB>250</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 11</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>600</downBB><upBB>300</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 12</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>600</downBB><upBB>300</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 13</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>750</downBB><upBB>375</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 14</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>750</downBB><upBB>375</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 15</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>1000</downBB><upBB>500</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 16</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>1000</downBB><upBB>500</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p></pl><tl><t><technologie>FTTH</technologie><kont>Foo-Region</kont><ane>Foo-Bla</ane><hidl><hid>Foo-Nummer 1</hid></hidl><ausbaustatus>homesPassed</ausbaustatus><ausbauzeitraum><start>2021-07-19</start><ende>2022-08-31</ende></ausbauzeitraum><eigentuemerdaten>false</eigentuemerdaten><geeErforderlich>false</geeErforderlich><anzNutzungseinheiten>1</anzNutzungseinheiten></t></tl></ds>
<ds><plz>12345</plz><o>Foo-Ort</o><ot>Foo-Ortsteil</ot><s>Foo-Straße</s><h>33</h><pl><p><produkt>Foo-Produkt</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>100</downBB><upBB>40</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 2</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>150</downBB><upBB>75</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 3</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>250</downBB><upBB>125</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 4</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>250</downBB><upBB>125</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 5</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>300</downBB><upBB>150</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 6</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>300</downBB><upBB>150</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 7</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>400</downBB><upBB>200</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 8</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>400</downBB><upBB>200</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 9</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>500</downBB><upBB>250</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 10</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>500</downBB><upBB>250</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 11</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>600</downBB><upBB>300</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 12</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>600</downBB><upBB>300</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 13</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>750</downBB><upBB>375</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 14</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>750</downBB><upBB>375</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 15</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>1000</downBB><upBB>500</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 16</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>1000</downBB><upBB>500</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p></pl><tl><t><technologie>FTTH</technologie><kont>Foo-Region</kont><ane>Foo-Bla</ane><hidl><hid>Foo-Nummer 1</hid></hidl><ausbaustatus>homesPassed</ausbaustatus><ausbauzeitraum><start>2021-07-19</start><ende>2022-08-31</ende></ausbauzeitraum><eigentuemerdaten>false</eigentuemerdaten><geeErforderlich>false</geeErforderlich><anzNutzungseinheiten>1</anzNutzungseinheiten></t></tl></ds>
<ds><plz>12345</plz><o>Foo-Ort</o><ot>Foo-Ortsteil</ot><s>Foo-Straße</s><h>30</h><hz>A</hz><pl><p><produkt>Foo-Produkt</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>100</downBB><upBB>40</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-04-03</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 2</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>150</downBB><upBB>75</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-04-03</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 3</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>250</downBB><upBB>125</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-04-03</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 4</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>250</downBB><upBB>125</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-04-03</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 5</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>300</downBB><upBB>150</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-04-03</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 6</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>300</downBB><upBB>150</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-04-03</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 7</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>400</downBB><upBB>200</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-04-03</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 8</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>400</downBB><upBB>200</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-04-03</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 9</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>500</downBB><upBB>250</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-04-03</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 10</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>500</downBB><upBB>250</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-04-03</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 11</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>600</downBB><upBB>300</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-04-03</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 12</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>600</downBB><upBB>300</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-04-03</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 13</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>750</downBB><upBB>375</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-04-03</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 14</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>750</downBB><upBB>375</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-04-03</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 15</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>1000</downBB><upBB>500</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-04-03</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 16</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>1000</downBB><upBB>500</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-04-03</realisierbarAb></realisierbarkeitProdukt></p></pl><tl><t><technologie>FTTH</technologie><kont>Foo-Region</kont><ane>Foo-Bla</ane><hidl><hid>Foo-Nummer 1</hid></hidl><ausbaustatus>underConstruction</ausbaustatus><ausbauzeitraum><start>2021-07-19</start><ende>2022-08-31</ende></ausbauzeitraum><eigentuemerdaten>false</eigentuemerdaten><geeErforderlich>false</geeErforderlich><anzNutzungseinheiten>1</anzNutzungseinheiten></t></tl></ds>
<ds><plz>12345</plz><o>Foo-Ort</o><ot>Foo-Ortsteil</ot><s>Foo-Straße</s><h>7</h><pl><p><produkt>Foo-Produkt</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>100</downBB><upBB>40</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 2</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>150</downBB><upBB>75</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 3</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>250</downBB><upBB>125</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 4</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>250</downBB><upBB>125</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 5</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>300</downBB><upBB>150</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 6</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>300</downBB><upBB>150</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 7</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>400</downBB><upBB>200</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 8</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>400</downBB><upBB>200</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 9</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>500</downBB><upBB>250</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 10</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>500</downBB><upBB>250</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 11</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>600</downBB><upBB>300</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 12</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>600</downBB><upBB>300</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 13</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>750</downBB><upBB>375</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 14</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>750</downBB><upBB>375</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 15</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>1000</downBB><upBB>500</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 16</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>1000</downBB><upBB>500</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-02-06</realisierbarAb></realisierbarkeitProdukt></p></pl><tl><t><technologie>FTTH</technologie><kont>Foo-Region</kont><ane>Foo-Bla</ane><hidl><hid>Foo-Nummer 1</hid></hidl><ausbaustatus>homesPassed</ausbaustatus><ausbauzeitraum><start>2021-07-19</start><ende>2022-08-31</ende></ausbauzeitraum><eigentuemerdaten>false</eigentuemerdaten><geeErforderlich>false</geeErforderlich><anzNutzungseinheiten>1</anzNutzungseinheiten></t></tl></ds>
<ds><plz>12345</plz><o>Foo-Ort</o><ot>Foo-Ortsteil</ot><s>Foo-Straße</s><h>52</h><hz>A</hz><pl><p><produkt>Foo-Produkt</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>100</downBB><upBB>40</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2023-02-23</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 2</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>150</downBB><upBB>75</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2023-02-23</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 3</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>250</downBB><upBB>125</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2023-02-23</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 4</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>250</downBB><upBB>125</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2023-02-23</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 5</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>300</downBB><upBB>150</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2023-02-23</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 6</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>300</downBB><upBB>150</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2023-02-23</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 7</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>400</downBB><upBB>200</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2023-02-23</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 8</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>400</downBB><upBB>200</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2023-02-23</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 9</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>500</downBB><upBB>250</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2023-02-23</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 10</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>500</downBB><upBB>250</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2023-02-23</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 11</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>600</downBB><upBB>300</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2023-02-23</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 12</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>600</downBB><upBB>300</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2023-02-23</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 13</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>750</downBB><upBB>375</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2023-02-23</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 14</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>750</downBB><upBB>375</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2023-02-23</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 15</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>1000</downBB><upBB>500</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2023-02-23</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 16</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>1000</downBB><upBB>500</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2023-02-23</realisierbarAb></realisierbarkeitProdukt></p></pl><tl><t><technologie>FTTH</technologie><kont>Foo-Region</kont><ane>Foo-Bla</ane><hidl><hid>Foo-Nummer 1</hid></hidl><ausbaustatus>homesConnected</ausbaustatus><ausbauzeitraum><start>2021-07-19</start><ende>2022-08-31</ende></ausbauzeitraum><eigentuemerdaten>false</eigentuemerdaten><geeErforderlich>false</geeErforderlich><anzNutzungseinheiten>1</anzNutzungseinheiten></t></tl></ds>
<ds><plz>12345</plz><o>Foo-Ort</o><ot>Foo-Ortsteil</ot><s>Foo-Straße</s><h>99</h><pl><p><produkt>Foo-Produkt</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>100</downBB><upBB>40</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-04-03</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 2</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>150</downBB><upBB>75</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-04-03</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 3</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>250</downBB><upBB>125</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-04-03</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 4</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>250</downBB><upBB>125</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-04-03</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 5</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>300</downBB><upBB>150</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-04-03</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 6</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>300</downBB><upBB>150</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-04-03</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 7</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>400</downBB><upBB>200</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-04-03</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 8</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>400</downBB><upBB>200</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-04-03</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 9</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>500</downBB><upBB>250</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-04-03</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 10</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>500</downBB><upBB>250</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-04-03</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 11</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>600</downBB><upBB>300</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-04-03</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 12</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>600</downBB><upBB>300</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-04-03</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 13</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>750</downBB><upBB>375</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-04-03</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 14</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>750</downBB><upBB>375</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-04-03</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 15</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>1000</downBB><upBB>500</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-04-03</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 16</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>1000</downBB><upBB>500</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-04-03</realisierbarAb></realisierbarkeitProdukt></p></pl><tl><t><technologie>FTTH</technologie><kont>Foo-Region</kont><ane>Foo-Bla</ane><hidl><hid>Foo-Nummer 1</hid><hid>Foo-Nummer 2</hid><hid>Foo-Nummer 3</hid></hidl><ausbaustatus>underConstruction</ausbaustatus><ausbauzeitraum><start>2021-07-19</start><ende>2022-08-31</ende></ausbauzeitraum><eigentuemerdaten>false</eigentuemerdaten><geeErforderlich>false</geeErforderlich><anzNutzungseinheiten>3</anzNutzungseinheiten></t></tl></ds>
<ds><plz>12345</plz><o>Foo-Ort</o><ot>Foo-Ortsteil</ot><s>Foo-Straße</s><h>0</h><hz>1</hz><pl><p><produkt>Foo-Produkt</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>100</downBB><upBB>40</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-05-29</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 2</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>150</downBB><upBB>75</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-05-29</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 3</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>250</downBB><upBB>125</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-05-29</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 4</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>250</downBB><upBB>125</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-05-29</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 5</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>300</downBB><upBB>150</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-05-29</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 6</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>300</downBB><upBB>150</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-05-29</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 7</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>400</downBB><upBB>200</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-05-29</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 8</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>400</downBB><upBB>200</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-05-29</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 9</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>500</downBB><upBB>250</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-05-29</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 10</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>500</downBB><upBB>250</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-05-29</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 11</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>600</downBB><upBB>300</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-05-29</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 12</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>600</downBB><upBB>300</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-05-29</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 13</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>750</downBB><upBB>375</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-05-29</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 14</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>750</downBB><upBB>375</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-05-29</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 15</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>1000</downBB><upBB>500</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-05-29</realisierbarAb></realisierbarkeitProdukt></p><p><produkt>Foo-Produkt 16</produkt><technologie>FTTH</technologie><erwarteteBandbreite><downBB>1000</downBB><upBB>500</upBB></erwarteteBandbreite><realisierbarkeitProdukt><realisierbarAb>2026-05-29</realisierbarAb></realisierbarkeitProdukt></p></pl><tl><t><technologie>FTTH</technologie><kont>Foo-Region</kont><ane>Foo-Bla</ane><hidl><hid>Foo-Nummer 1</hid></hidl><ausbaustatus>preMarketing</ausbaustatus><ausbauzeitraum><start>2021-07-19</start><ende>2022-08-31</ende></ausbauzeitraum><eigentuemerdaten>false</eigentuemerdaten><geeErforderlich>false</geeErforderlich><anzNutzungseinheiten>1</anzNutzungseinheiten></t></tl></ds>
</datensatzliste>
</replikat>

Ist ein sogenanntes Replikat, das sich FTTH-Anbieter untereinander bereitstellen und das verschiedene Informationen zum FTTH-Ausbau von Adressen enthält. Der Datensatz ist natürlich eingekürzt und anonymisiert, das Original enthält eine mittlere fünfstellige Anzahl an Adressen. Doof ist unter anderem, daß das Tag <hid></hid> nicht nur einmal pro Zeile vorkommt, sondern -zigfach auftauchen kann. Das macht eine Überführung in eine CSV natürlich knifflig. Die Importfunktion Excels von XMLs habe ich schon probiert, die funktioniert aber nur für die ersten paar Spalten und bricht beim Beginn der Verschachtelung ab, etwas Sinnvolles einzulesen.

Verschiedene Onlinedienste sind mit der Verschachtelung überfordert und geben nur Murks zurück. Eine Lösung, die mit den Bordmitteln von Windows 11 auskommt, wäre schick, weil ich auf dem Arbeitslaptop nichts installieren darf/kann.

Jemand ’ne Idee?
 
da es windows und bordmittel sein sollen, habe ich ne ki befragt - ansonsten hätte ich es selber in python gemacht :)
PowerShell:
[xml]$xmlData = Get-Content -Path foo.xml

$outputCsv = "output.csv"
$csvData = @()

$datum = $xmlData.replikat.datum
$carrierCode = $xmlData.replikat.carrierCode

foreach ($ds in $xmlData.replikat.datensatzliste.ds) {
    foreach ($p in $ds.pl.p) {
        $row = [PSCustomObject]@{
            datum                     = $datum
            carrierCode               = $carrierCode
            plz                       = $ds.plz
            o                         = $ds.o
            ot                        = $ds.ot
            s                         = $ds.s
            h                         = $ds.h
            hz                        = $ds.hz
            produkt                   = $p.produkt
            technologie               = $p.technologie
            downBB                    = $p.erwarteteBandbreite.downBB
            upBB                      = $p.erwarteteBandbreite.upBB
            realisierbarAb            = $p.realisierbarkeitProdukt.realisierbarAb
            kont                      = $ds.tl.t.kont
            ane                       = $ds.tl.t.ane
            hid                       = $ds.tl.t.hidl.hid
            ausbaustatus              = $ds.tl.t.ausbaustatus
            start                     = $ds.tl.t.ausbauzeitraum.start
            ende                      = $ds.tl.t.ausbauzeitraum.ende
            eigentuemerdaten          = $ds.tl.t.eigentuemerdaten
            geeErforderlich           = $ds.tl.t.geeErforderlich
            anzNutzungseinheiten      = $ds.tl.t.anzNutzungseinheiten
        }
        $csvData += $row
    }
}

$csvData | Export-Csv -Path $outputCsv -NoTypeInformation -Encoding UTF8

ergebnis sah auf den ersten blick plausibel aus.
 
  • Gefällt mir
Reaktionen: trb85 und DeusoftheWired
@0x8100 Mit PowerShell habe ich leider noch nicht gearbeitet, nur mit der normalen Windows-Konsole. Speichere ich deinen Codeblock mit angepaßtem Pfad etc. als .ps1 und führe sie dann mit PS aus?

Danke schon mal! :)
 
jop, als ps1 abspeichern. wenn du das script in der powershell ausführen willst, dann wirst du wohl diese warnung bekommen:
Code:
File C:\Users\root\Documents\foo.ps1 cannot be loaded because running scripts is disabled on this system.
kann man mit dem hilfelink ändern oder anscheinend trotzdem einfach über den explorer ausführen:

1758820101386.png
 
Je nachdem wie groß dein Unternehmen ist und wie restriktiv die IT wird sich das Powershell Script garnicht ausführen lassen, da nicht signiert und die Einstellungen das anzupassen entsprechend gesperrt.
 
@0x8100 So, nachdem die Ausführung wie erwartet auf dem Dienstrechner an den PS-Rechten gescheitert ist, hab ich gestern abend die XML doch mal auf den Privatrechner kopiert, dort die PS-Privilegien auf Unrestricted gesetzt und mit ".\xml-zu-csv.ps1" ausgeführt. Die Ziel-XML ist 178 MB groß und nachdem das Skript eine halbe Stunde lang mit einem 7800X3D bei ca. 7 % CPU-Auslastung gerödelt hat, bin ich ins Bett und hab es über Nacht laufen lassen. Hat nach Erstellungsdatum der output.csv dann auch circa 3 Stunden gedauert, war am Ende aber fertig und auch benutzbar. Einziger Wermutstropfen ist ein kaputtes Encoding, obwohl Quell-XML und Ziel-CSV UTF-8 haben, und daß in Zeilen mit Mehrfachvorkomen von <hid></hid> (wie im Beispiel oben in Zeile 11) nur System.Object[] auftaucht. Für meine Zwecke ist das aber vernachlässigbar, die Hauptsache ist, daß die Adreßdaten und der Ausbaustatus korrekt sind.

Bleibt mir an der Stelle nur, ein herzliches Dankeschön an 0x8100 zu sagen. :love: Astreine Arbeit!
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: 0x8100
DeusoftheWired schrieb:
Die Ziel-XML ist 178 MB groß und nachdem das Skript eine halbe Stunde lang mit einem 7800X3D bei ca. 7 % CPU-Auslastung gerödelt hat, bin ich ins Bett und hab es über Nacht laufen lassen. Hat nach Erstellungsdatum der output.csv dann auch circa 3 Stunden gedauert, war am Ende aber fertig und auch benutzbar.
Das sieht so aus, als wenn das Script single-threaded läuft. Anscheinend kann man es aber auch multithreaded laufen lassen ("Starting in PowerShell 7.0, the ability to work in multiple threads simultaneously is possible using the Parallel parameter in the ForEach-Object cmdlet."): https://learn.microsoft.com/en-us/p...s-across-multiple-threads?view=powershell-7.5.

Ich bin kein Programmierer, daher seht es mir nach, falls es Quatsch ist.

@DeusoftheWired: Falls der -Parallel Paramter aber hilft, würde es mich mal interessieren, wie stark damit die Abarbeitung des von @0x8100 geposteten Scripts beschleunigt wird.
 
  • Gefällt mir
Reaktionen: DeusoftheWired
@Bodennebel Interessant, danke für den Link! Ich probiere es übers Wochenende mal aus und gebe dann Rückmeldung.
 
  • Gefällt mir
Reaktionen: Bodennebel
@Bodennebel Wollte es jetzt mal probieren, verstehe aber auch nach Lektüre der MS-Seite zu wenig von der Materie um zu wissen, an welchen Stellen ich 0x8100s Skript um welchen Code erweitern muß.
 
Zurück
Oben