Comment parsingr le file XML dans VBA

J'ai des données dans le format ci-dessous et j'ai des données similaires dans la feuille Excel.

<LegalEntityDataVO> <LegalEntityDataVORow> <Name>Siemens Corporation</Name> <LegalEntityIdentifier>010</LegalEntityIdentifier> <EstablishmentData> <EstablishmentDataVORow> <MainEstablishmentFlag>Y</MainEstablishmentFlag> <Name>Siemens Corporation</Name> <GeographyCode>US</GeographyCode> <RegistrationDataEtb> <RegistrationDataEtbVORow> <SourceTable>XLE_ETB_PROFILES</SourceTable> <Name>United States Income Tax</Name> </RegistrationDataEtbVORow> <RegistrationDataEtbVORow> <SourceTable>XLE_ETB_PROFILES</SourceTable> <Name>United States Federal Tax</Name> </RegistrationDataEtbVORow> </RegistrationDataEtb> </EstablishmentDataVORow> </EstablishmentData> <EstablishmentData> <EstablishmentDataVORow> <MainEstablishmentFlag>Y</MainEstablishmentFlag> <Name>US Corporation</Name> <GeographyCode>US</GeographyCode> <RegistrationDataEtb> <RegistrationDataEtbVORow> <SourceTable>XLE_ETB_PAYBLES</SourceTable> <Name>United States Service Tax</Name> </RegistrationDataEtbVORow> <RegistrationDataEtbVORow> <SourceTable>XLE_ETB_PAYBLES</SourceTable> <Name>United States Oil Tax</Name> </RegistrationDataEtbVORow> </RegistrationDataEtb> </EstablishmentDataVORow> </EstablishmentData> </LegalEntityDataVORow> <LegalEntityDataVO> 

Donc, ma condition est de comparer datatables Excel avec datatables XML. Plus précisément, ma tâche est décrite ci-dessous:

 If **LegalEntityIdentifier** value in Excel = **LegalEntityIdentifier** value in xml then ( If(**MainEstablishmentFlag** value in Excel = **MainEstablishmentFlag** value in Xml then ( Compare **Name** in Excel with **Name** in XML ) ) **LegalEntityIdentifier** childnode of LegalEntityDataVORow **MainEstablishmentFlag** childnode of EstablishmentDataVORow **Name** childnode of RegistrationDataEtbVORow Si ** Valeur LegalEntityIdentifier ** dans Excel = ** Valeur LegalEntityIdentifier ** dans xml puis If **LegalEntityIdentifier** value in Excel = **LegalEntityIdentifier** value in xml then ( If(**MainEstablishmentFlag** value in Excel = **MainEstablishmentFlag** value in Xml then ( Compare **Name** in Excel with **Name** in XML ) ) **LegalEntityIdentifier** childnode of LegalEntityDataVORow **MainEstablishmentFlag** childnode of EstablishmentDataVORow **Name** childnode of RegistrationDataEtbVORow Si (** Valeur MainEstablishmentFlag ** dans Excel = ** Valeur MainEstablishmentFlag ** dans Xml puis If **LegalEntityIdentifier** value in Excel = **LegalEntityIdentifier** value in xml then ( If(**MainEstablishmentFlag** value in Excel = **MainEstablishmentFlag** value in Xml then ( Compare **Name** in Excel with **Name** in XML ) ) **LegalEntityIdentifier** childnode of LegalEntityDataVORow **MainEstablishmentFlag** childnode of EstablishmentDataVORow **Name** childnode of RegistrationDataEtbVORow Comparer ** Nom ** dans Excel avec ** Nom ** en XML If **LegalEntityIdentifier** value in Excel = **LegalEntityIdentifier** value in xml then ( If(**MainEstablishmentFlag** value in Excel = **MainEstablishmentFlag** value in Xml then ( Compare **Name** in Excel with **Name** in XML ) ) **LegalEntityIdentifier** childnode of LegalEntityDataVORow **MainEstablishmentFlag** childnode of EstablishmentDataVORow **Name** childnode of RegistrationDataEtbVORow ** LegalEntityIdentifier ** childnode de LegalEntityDataVORow If **LegalEntityIdentifier** value in Excel = **LegalEntityIdentifier** value in xml then ( If(**MainEstablishmentFlag** value in Excel = **MainEstablishmentFlag** value in Xml then ( Compare **Name** in Excel with **Name** in XML ) ) **LegalEntityIdentifier** childnode of LegalEntityDataVORow **MainEstablishmentFlag** childnode of EstablishmentDataVORow **Name** childnode of RegistrationDataEtbVORow ** MainEstablishmentFlag ** childnode de EstablishmentDataVORow If **LegalEntityIdentifier** value in Excel = **LegalEntityIdentifier** value in xml then ( If(**MainEstablishmentFlag** value in Excel = **MainEstablishmentFlag** value in Xml then ( Compare **Name** in Excel with **Name** in XML ) ) **LegalEntityIdentifier** childnode of LegalEntityDataVORow **MainEstablishmentFlag** childnode of EstablishmentDataVORow **Name** childnode of RegistrationDataEtbVORow 

Voici les problèmes auxquels je suis confronté:

  1. Chaque LegalEntityDataVORow contient de nombreuses données d' EstablishmentDataVORow
  2. Chaque EstablishmentDataVORow contient beaucoup de RegistrationDataEtbVORow .

Dans mon file XML, j'ai 100 <LegalEntityDataVORow> . Comment puis-je exécuter la tâche ci-dessus dans VBA?