Я получаю вывод результата, как эта
вместо
проблема здесь: & в URL меняется на & amp;
Нет проблем, и URL-адрес вообще не изменяется :
Для проверки используйте преобразование, подобное следующему:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:strip-space elements="*"/>
<xsl:template match="/*">
<xsl:value-of select="@url"/>
</xsl:template>
</xsl:stylesheet>
, когда это преобразованиеприменяется к следующему документу XML:
<convert url="http://www.test.com/test.aspx?val=100&val2=200"/>
В результате получается :
http://www.test.com/test.aspx?val=100&val2=200
Таким образом, URL-адрес не был изменен каким-либо образоми в нем все еще только один символ &
.
То, что вы наблюдаете, - это обязательное экранирование некоторых специальных символов (обычно <
и &
) в XML, как предписано спецификацией XML.
Экранирование некоторых специальных символов никогда не изменяет содержимое экранированной строки - только так, как это выглядит, когда оно является частью XML-документа.
как я могу избежать этого, я хочу & в URL как &. (Не & amp;)
Вы не можете, и, как показано выше, избегать нечего.