Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Помогите с XML  [new]
Penner
Member

Откуда:
Сообщений: 313
Есть XML файл
нужно выдернуть все записи <DrctDbtTxInf> (для примера оставил 2) с полями
или по крайней мере запись номер Х

+
<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.008.003.02" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:iso:std:iso:20022:tech:xsd:pain.008.003.02 pain.008.003.02.xsd">
<CstmrDrctDbtInitn>
		<GrpHdr>
			<MsgId>01-2019-05-07-FRST-A-000001</MsgId>
			<CreDtTm>2019-05-07T14:56:14.720Z</CreDtTm>
			<NbOfTxs>53</NbOfTxs>
			<InitgPty>
				<Nm>WESTF.LIPP</Nm>
			</InitgPty>
		</GrpHdr>
		<PmtInf>
			<PmtInfId>701766</PmtInfId>
			<PmtMtd>DD</PmtMtd>
			<NbOfTxs>53</NbOfTxs>
			<CtrlSum>13635.19</CtrlSum>
			<PmtTpInf>
				<SvcLvl>
					<Cd>SEPA</Cd>
				</SvcLvl>
				<LclInstrm>
					<Cd>COR1</Cd>
				</LclInstrm>
				<SeqTp>FRST</SeqTp>
			</PmtTpInf>
			<ReqdColltnDt>2019-05-10</ReqdColltnDt>
			<Cdtr>
				<Nm>WESTF.LIPP</Nm>
			</Cdtr>
			<CdtrAcct>
				<Id>
					<IBAN>DE123456789</IBAN>
				</Id>
			</CdtrAcct>
			<CdtrAgt>
				<FinInstnId>
					<BIC>DAAEDEDDXXX</BIC>
				</FinInstnId>
			</CdtrAgt>
			<ChrgBr>SLEV</ChrgBr>
			<CdtrSchmeId>
				<Id>
					<PrvtId>
						<Othr>
							<Id>DE321654987</Id>
							<SchmeNm>
								<Prtry>SEPA</Prtry>
							</SchmeNm>
						</Othr>
					</PrvtId>
				</Id>
			</CdtrSchmeId>
			<DrctDbtTxInf>
				<PmtId>
					<EndToEndId>11900958</EndToEndId>
				</PmtId>
				<InstdAmt Ccy="EUR">88.65</InstdAmt>
				<DrctDbtTx>
					<MndtRltdInf>
						<MndtId>02085601001</MndtId>
						<DtOfSgntr>2019-03-24</DtOfSgntr>
						<AmdmntInd>true</AmdmntInd>
						<AmdmntInfDtls>
							<OrgnlCdtrSchmeId>
								<Nm>WESTF.LIPP</Nm>
								<Id>
									<PrvtId>
										<Othr>
											<Id>DE22222222222</Id>
											<SchmeNm>
												<Prtry>SEPA</Prtry>
											</SchmeNm>
										</Othr>
									</PrvtId>
								</Id>
							</OrgnlCdtrSchmeId>
						</AmdmntInfDtls>
					</MndtRltdInf>
				</DrctDbtTx>
				<DbtrAgt>
					<FinInstnId>
						<BIC>XXXXXXXXX</BIC>
					</FinInstnId>
				</DbtrAgt>
				<Dbtr>
					<Nm>Name 1</Nm>
				</Dbtr>
				<DbtrAcct>
					<Id>
						<IBAN>DE11111111111111</IBAN>
					</Id>
				</DbtrAcct>
				<RmtInf>
					<Ustrd>SUMME FAELLIGER POSTEN</Ustrd>
				</RmtInf>
			</DrctDbtTxInf>
			<DrctDbtTxInf>
				<PmtId>
					<EndToEndId>11900733</EndToEndId>
				</PmtId>
				<InstdAmt Ccy="EUR">217.20</InstdAmt>
				<DrctDbtTx>
					<MndtRltdInf>
						<MndtId>02074700001</MndtId>
						<DtOfSgntr>2019-04-08</DtOfSgntr>
						<AmdmntInd>true</AmdmntInd>
						<AmdmntInfDtls>
							<OrgnlCdtrSchmeId>
								<Nm>WESTF.LIPP</Nm>
								<Id>
									<PrvtId>
										<Othr>
											<Id>DE222222222</Id>
											<SchmeNm>
												<Prtry>SEPA</Prtry>
											</SchmeNm>
										</Othr>
									</PrvtId>
								</Id>
							</OrgnlCdtrSchmeId>
						</AmdmntInfDtls>
					</MndtRltdInf>
				</DrctDbtTx>
				<DbtrAgt>
					<FinInstnId>
						<BIC>YYYYYYYYYYYYYYYYY</BIC>
					</FinInstnId>
				</DbtrAgt>
					<Dbtr>
						<Nm>Name 2</Nm>	
			  		</Dbtr>
				<DbtrAcct>
					<Id>
						<IBAN>DE2222222222222222222</IBAN>
					</Id>
				</DbtrAcct>
				<RmtInf>
					<Ustrd>QWERTZU</Ustrd>
				</RmtInf>
			</DrctDbtTxInf>
		</PmtInf>
	</CstmrDrctDbtInitn>
</Document>
13 май 19, 16:12    [21883549]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с XML  [new]
Sergey Syrovatchenko
Member

Откуда: Харьков
Сообщений: 30
SELECT t.c.query('*')
FROM @xml.nodes('//*:DrctDbtTxInf') t(c)

+ удалить из XML: <?xml version="1.0" encoding="UTF-8"?>
13 май 19, 16:14    [21883552]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с XML  [new]
Sergey Syrovatchenko
Member

Откуда: Харьков
Сообщений: 30
;WITH XMLNAMESPACES(DEFAULT 'urn:iso:std:iso:20022:tech:xsd:pain.008.003.02')
SELECT t.c.query('*'), t.c.value('(PmtId/EndToEndId/text())[1]', 'INT')
FROM @xml.nodes('//DrctDbtTxInf') t(c)

SELECT t.c.query('*'), t.c.value('(*:PmtId/*:EndToEndId/text())[1]', 'INT')
FROM @xml.nodes('//*:DrctDbtTxInf') t(c)
13 май 19, 16:38    [21883557]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с XML  [new]
Penner
Member

Откуда:
Сообщений: 313
Спасибо
14 май 19, 08:18    [21883986]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить