none
Obtener datos de fichero XML RRS feed

  • Pregunta

  • Buenos días,

    Necesito obtener datos de un fichero XML, parece ser que la mejor opción es utilizar LINQ, pero la verdad es que no tengo ni idea de como hacerlo.

    El fichero es el siguiente:

    <?xml version="1.0" encoding="UTF-8"?>
    <Document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:iso:std:iso:20022:tech:xsd:pain.002.001.03">
    	<CstmrPmtStsRpt>
    		<GrpHdr>
    			<MsgId>DA20151028203006098012030065098011</MsgId>
    			<CreDtTm>2015-10-28T20:30:06</CreDtTm>
    			<CdtrAgt>
    				<FinInstnId>
    					<BIC>XXXXXXMXXX</BIC>
    				</FinInstnId>
    			</CdtrAgt>
    		</GrpHdr>
    		<OrgnlGrpInfAndSts>
    			<OrgnlMsgId>2015-10-28</OrgnlMsgId>
    			<OrgnlMsgNmId>pain.008.001.02</OrgnlMsgNmId>
    			<OrgnlNbOfTxs>2</OrgnlNbOfTxs>
    			<OrgnlCtrlSum>30.00</OrgnlCtrlSum>
    		</OrgnlGrpInfAndSts>
    		<OrgnlPmtInfAndSts>
    			<OrgnlPmtInfId>412</OrgnlPmtInfId>
    			<OrgnlNbOfTxs>2</OrgnlNbOfTxs>
    			<OrgnlCtrlSum>30.00</OrgnlCtrlSum>
    			<TxInfAndSts>
    				<StsId>122229950120210</StsId>
    				<OrgnlInstrId>Fra.AX1</OrgnlInstrId>
    				<OrgnlEndToEndId>Fra.AX1</OrgnlEndToEndId>
    				<StsRsnInf>
    					<Orgtr>
    						<Nm>PEPITO GIMENEZ</Nm>
    					</Orgtr>
    					<Rsn>
    						<Cd>MD01</Cd>
    					</Rsn>
    				</StsRsnInf>
    				<OrgnlTxRef>
    					<Amt>
    						<InstdAmt Ccy="EUR">10.00</InstdAmt>
    					</Amt>
    					<ReqdColltnDt>2015-10-26</ReqdColltnDt>
    					<CdtrSchmeId>
    						<Id>
    							<PrvtId>
    								<Othr>
    									<Id>ES77001B12345678</Id>
    									<SchmeNm>
    										<Prtry>SEPA</Prtry>
    									</SchmeNm>
    								</Othr>
    							</PrvtId>
    						</Id>
    					</CdtrSchmeId>
    					<PmtTpInf>
    						<SvcLvl>
    							<Cd>SEPA</Cd>
    						</SvcLvl>
    						<LclInstrm>
    							<Cd>CORE</Cd>
    						</LclInstrm>
    						<SeqTp>RCUR</SeqTp>
    					</PmtTpInf>
    					<MndtRltdInf>
    						<MndtId>PRUEBA MANDATO</MndtId>
    						<DtOfSgntr>2015-10-19</DtOfSgntr>
    						<AmdmntInd>false</AmdmntInd>
    					</MndtRltdInf>
    					<RmtInf>
    						<Ustrd>Fra. AX1</Ustrd>
    					</RmtInf>
    					<Dbtr>
    						<Nm>PEPITO GIMENEZ</Nm>
    					</Dbtr>
    					<DbtrAcct>
    						<Id>
    							<IBAN>ES7520386200506000033155</IBAN>
    						</Id>
    					</DbtrAcct>
    					<DbtrAgt>
    						<FinInstnId>
    							<BIC>xxxxxxMXXX</BIC>
    						</FinInstnId>
    					</DbtrAgt>
    					<CdtrAgt>
    						<FinInstnId>
    							<BIC>xxxxxxMMXXX</BIC>
    						</FinInstnId>
    					</CdtrAgt>
    					<Cdtr>
    						<Nm>pruebas SL</Nm>
    						<PstlAdr>
    							<Ctry>ES</Ctry>
    							<AdrLine>avd meridiano</AdrLine>
    						</PstlAdr>
    					</Cdtr>
    					<CdtrAcct>
    						<Id>
    							<IBAN>ES1420386200516000014105</IBAN>
    						</Id>
    					</CdtrAcct>
    				</OrgnlTxRef>
    			</TxInfAndSts>
    			<TxInfAndSts>
    				<StsId>122229950120210</StsId>
    				<OrgnlInstrId>Fra.AX2</OrgnlInstrId>
    				<OrgnlEndToEndId>Fra.AX2</OrgnlEndToEndId>
    				<StsRsnInf>
    					<Orgtr>
    						<Nm>PEPITO GIMENEZ 2</Nm>
    					</Orgtr>
    					<Rsn>
    						<Cd>MD01</Cd>
    					</Rsn>
    				</StsRsnInf>
    				<OrgnlTxRef>
    					<Amt>
    						<InstdAmt Ccy="EUR">20.00</InstdAmt>
    					</Amt>
    					<ReqdColltnDt>2015-10-26</ReqdColltnDt>
    					<CdtrSchmeId>
    						<Id>
    							<PrvtId>
    								<Othr>
    									<Id>ES77001B123457122</Id>
    									<SchmeNm>
    										<Prtry>SEPA</Prtry>
    									</SchmeNm>
    								</Othr>
    							</PrvtId>
    						</Id>
    					</CdtrSchmeId>
    					<PmtTpInf>
    						<SvcLvl>
    							<Cd>SEPA</Cd>
    						</SvcLvl>
    						<LclInstrm>
    							<Cd>CORE</Cd>
    						</LclInstrm>
    						<SeqTp>RCUR</SeqTp>
    					</PmtTpInf>
    					<MndtRltdInf>
    						<MndtId>PRUEBA MANDATO</MndtId>
    						<DtOfSgntr>2015-10-19</DtOfSgntr>
    						<AmdmntInd>false</AmdmntInd>
    					</MndtRltdInf>
    					<RmtInf>
    						<Ustrd>Fra. AX2</Ustrd>
    					</RmtInf>
    					<Dbtr>
    						<Nm>PEPITO TORRES</Nm>
    					</Dbtr>
    					<DbtrAcct>
    						<Id>
    							<IBAN>ES7520386200506000033488</IBAN>
    						</Id>
    					</DbtrAcct>
    					<DbtrAgt>
    						<FinInstnId>
    							<BIC>xxxxxxMXXX</BIC>
    						</FinInstnId>
    					</DbtrAgt>
    					<CdtrAgt>
    						<FinInstnId>
    							<BIC>xxxxxxMMXXX</BIC>
    						</FinInstnId>
    					</CdtrAgt>
    					<Cdtr>
    						<Nm>pruebas SL</Nm>
    						<PstlAdr>
    							<Ctry>ES</Ctry>
    							<AdrLine>avd meridiano</AdrLine>
    						</PstlAdr>
    					</Cdtr>
    					<CdtrAcct>
    						<Id>
    							<IBAN>ES1420386200516000014105</IBAN>
    						</Id>
    					</CdtrAcct>
    				</OrgnlTxRef>
    			</TxInfAndSts>                                                                                                                                                                                                                                     
    		</OrgnlPmtInfAndSts>
    	</CstmrPmtStsRpt>
    </Document> 

    De este fichero necesitaría sacar los nodos <TxInfAndSts> y de ellos los datos de <OrgnlInstrId>, <Rsn>
          <Cd>MD01</Cd>
         </Rsn>  

    <Amt>
          <InstdAmt Ccy="EUR">20.00</InstdAmt>
         </Amt>

     <DbtrAcct>
          <Id>
           <IBAN>ES7520386200506000033155</IBAN>
          </Id>
         </DbtrAcct>
         <DbtrAgt>

    <CdtrAcct>
          <Id>
           <IBAN>ES1420386200516000014105</IBAN>
          </Id>
         </CdtrAcct>

    Me podeis guiar un poco??

    Muchisimas gracias.

    martes, 3 de noviembre de 2015 8:44

Todas las respuestas