xml structure is pretty simple ...
But the file size is quite large ....
I want to read the file in several parallel threads ...
How to read a HUGE xml file in several threads?
which parser would you recommend?
UPD:
The file has no complicated structure ... there is no strong nesting ...
File slice:
<?xml version="1.0" encoding="utf-8"?> <PackageBOMs Date="2016-01-01" Time="00:00:00" System_ID="EGP" Client="1000" DateAktualn="2016-09-13" Version="BOM_007"> <BOM ST_LNR="00677090" ST_LAL="01" MA_TNR_EXT="СТУ1003094А" WERKS="" ST_LAN="1" BM_ENG="1.000" BM_EIN="ШТ" LA_BOR="GKB" ST_LST="10" ZT_EXT=""> <pos POS_NR="9000" ID_NRK="0202-09060-00006" PO_STP="L" SO_RTF="07" MENGE="0.060" MEINS="КГ" RE_KRS="false" SAN_KO="false" SAN_FE="true" SANKA="true" RV_REL="false" ZM_CMP="false" Z_WEIGHT_DETAIL="0.012" UNIT="KG" ZSIZE_DIMENSIONS="24" ZWEIGHT_BLANK="0.033" UNIT_B="KG" ALPRF="00" EWAHR="0" BEIKZ="" SCHGT="false" LGORT="" ITSOB="" IDENT="00000001"/> </BOM> <BOM ST_LNR="00677091" ST_LAL="01" MA_TNR_EXT="КПК0114624" WERKS="" ST_LAN="1" BM_ENG="1.000" BM_EIN="ШТ" LA_BOR="GKB" ST_LST="10" ZT_EXT=""> <pos POS_NR="9000" ID_NRK="0201-09080-00044" PO_STP="L" SO_RTF="07" MENGE="24.000" MEINS="КГ" RE_KRS="false" SAN_KO="false" SAN_FE="true" SANKA="true" RV_REL="false" ZM_CMP="false" Z_WEIGHT_DETAIL="9.850" UNIT="KG" ZSIZE_DIMENSIONS="163" ZWEIGHT_BLANK="19.400" UNIT_B="KG" ALPRF="00" EWAHR="0" BEIKZ="" SCHGT="false" LGORT="" ITSOB="" IDENT="00000001"/> <pos POS_NR="9000" ID_NRK="0201-09080-00044" PO_STP="L" SO_RTF="07" MENGE="24.000" MEINS="шт" RE_KRS="false" SAN_KO="false" SAN_FE="true" SANKA="true" RV_REL="false" ZM_CMP="false" Z_WEIGHT_DETAIL="9.850" UNIT="KG" ZSIZE_DIMENSIONS="163" ZWEIGHT_BLANK="19.400" UNIT_B="KG" ALPRF="00" EWAHR="0" BEIKZ="" SCHGT="false" LGORT="" ITSOB="" IDENT="00000001"/> <pos POS_NR="9000" ID_NRK="0201-09080-00044" PO_STP="L" SO_RTF="07" MENGE="24.000" MEINS="КГ" RE_KRS="false" SAN_KO="false" SAN_FE="true" SANKA="true" RV_REL="false" ZM_CMP="false" Z_WEIGHT_DETAIL="9.850" UNIT="KG" ZSIZE_DIMENSIONS="163" ZWEIGHT_BLANK="19.400" UNIT_B="KG" ALPRF="00" EWAHR="0" BEIKZ="" SCHGT="false" LGORT="" ITSOB="" IDENT="00000001"/> <pos POS_NR="9000" ID_NRK="0201-09080-00044" PO_STP="L" SO_RTF="07" MENGE="24.000" MEINS="КГ" RE_KRS="false" SAN_KO="false" SAN_FE="true" SANKA="true" RV_REL="false" ZM_CMP="false" Z_WEIGHT_DETAIL="9.850" UNIT="KG" ZSIZE_DIMENSIONS="163" ZWEIGHT_BLANK="19.400" UNIT_B="KG" ALPRF="00" EWAHR="0" BEIKZ="" SCHGT="false" LGORT="" ITSOB="" IDENT="00000001"/> <pos POS_NR="9000" ID_NRK="0201-09080-00044" PO_STP="L" SO_RTF="07" MENGE="24.000" MEINS="л" RE_KRS="false" SAN_KO="false" SAN_FE="true" SANKA="true" RV_REL="false" ZM_CMP="false" Z_WEIGHT_DETAIL="9.850" UNIT="KG" ZSIZE_DIMENSIONS="163" ZWEIGHT_BLANK="19.400" UNIT_B="KG" ALPRF="00" EWAHR="0" BEIKZ="" SCHGT="false" LGORT="" ITSOB="" IDENT="00000001"/> ... ... ... </BOM> ... ... ... </PackageBOMs> Unfortunately, this xml is not formed in our company (by customers) ...
We do not have access to databases (4 different types of databases) on the client’s side, and cannot be, for security policy reasons in the field of information and something there (in a word, the public account) ...
The customer has no specialists and the desire to rewrite their software, which collects data from tables of different databases and generates this xml.