Bir web servis çağrısından geri gelen XML değerleri ayıklamak çalışıyorum. Ancak, "xmlns" özniteliğinin dahil edilmesi, sorgumun beklendiği gibi çalışmayacak olmasına neden oluyor.SQL kullanarak XML kullanarak bir değer ayıklamak Oracle 11g
İşteSELECT EXTRACTVALUE(XMLType('<?xml version="1.0" encoding="utf-8"?><string><SAMP_OVERALL>Y</SAMP_OVERALL></string>')
,
'/string/SAMP_OVERALL') myval
from dual;
aynı sorgu ancak kök etiketi "dizesi" dir xmlns özniteliği içerir:
Bu sorgu beklendiği gibi, geri "Y" olsun çalışır. Gerçek XML bu şekilde geri döner. Ben daraltdım, bana sorun veren özelliktir. Bu null döndürür:
SELECT EXTRACTVALUE(XMLType('<?xml version="1.0" encoding="utf-8"?><string xmlns="someweburl"><SAMP_OVERALL>Y</SAMP_OVERALL></string>')
,
'/string/SAMP_OVERALL') myval
from dual;
Neden xmlns dahil SAMP_OVERALL etiketinin değerini döndürmek için değil buna sebep öznitelik geliyor?
Bu noktada ihtiyacım olan değerleri çıkarmak için sözdizimini anlayamıyorum.
Teşekkürler!
amele büyük! link için de teşekkür ederim. – mjf200