2012-11-16 2 views
0

Привет я следующий XMLПолучить атрибуты из SOAP Envelope с XSLT

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" ... someID="ID123"> 
    <SOAP-ENV:Header xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><endpoints> 
... 

Допустим, по какой-то причине у меня есть этот атрибут «someID» в SOAP-ENV: Envelope корневого тега. Можно ли читать содержимое этого атрибута с помощью XSLT 1.0 (я хочу иметь «ID123»)? Если да, то как?

Сердечные приветы Aleks

ответ

0

Может быть, я что-то отсутствует, но это должно быть довольно прямо вперед. Для того, чтобы получить значение атрибута на SOAP: Envelope элемент, вы можете просто сделать это

<xsl:value-of select="/SOAP-ENV:Envelope/@someID" /> 

Вы должны были бы убедиться, что SOAP-ENV Префикс имен определяется в XSLT, хотя.

Если вы хотите, чтобы сделать его более универсальным, и не беспокоиться о том, что (было или пространство имен) корневой элемент, вы также можете сделать это

<xsl:value-of select="/*/@someID" /> 

И если вы уже были расположены на корневом элементе, он становится еще проще ...

<xsl:template match="/*"> 
    <xsl:value-of select="@someID" /> 
</xsl:template> 
+0

Второе решение (/ */@ someID) решило проблему для меня. Большое спасибо. – Aleks

Смежные вопросы