0
我在這裏陷入了一種情況,其中必須使用xslt來解析和轉換給定的XML。我需要寫xpaths來做到這一點。無法獲取xpath其中父節點和子節點具有不同的默認名稱空間
示例xml在下面給出。 ServiceProviderGroupPackage和SecondNode都有不同的名稱空間。我需要獲得IReference節點的名稱空間以獲取其值。
<?xml version="1.0" encoding="utf-8" ?>
<ServiceProviderGroupPackage Version="1.2.0" xmlns="http://webconnectivity.co.uk/ServiceProviderGroupPackage"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:wsa="http://www.w3.org/2005/08/addressing">
<FirstNode Version="1.2.0" xmlns="http://www.MySite.org/Standards/MySiteMsgSvc/1"
xmlns:rlc="http://www.MySite.org/standards/SecondNode/1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
</FirstNode>
<SecondNode Version="2010-2" xmlns:ac="http://www.MySite.org/Standards/MySiteMsgSvc/1"
xmlns="http://www.MySite.org/standards/SecondNode/1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:lloyds="http://www.lloyds.com/The-Market/Operating-at-Lloyds/Resources/Risk_codes">
<Movement Sender="Sender" Receiver="Receiver">
<Contract>
<Type>direct</Type>
<Nature>lm_proportional_or_nonproportional</Nature>
<Reference>B0509311011UMR</Reference>
<IReference>P00000062MM/13A</IReference>
</Contract>
</Movement>
</SecondNode>
</ServiceProviderGroupPackage>
嘗試使用xpath,正如您在我的xslt中所指示的那樣。沒有運氣。它不會讀取/ * – Rakesh
的組合如您所說,如果每個元素都不會覆蓋父元素的名稱空間,那麼我應該在整個xpath中沒有前綴。但不知何故不是那種方式 – Rakesh
得到了......感謝您的指導。您需要將名稱空間添加到帶有前綴的xslt,然後將它們添加到xpath中,並使用該節點所屬的任何名稱空間。 – Rakesh