У меня есть requierement, как показано ниже:получить узел и значение, если это не нуль, используя XSLT
если я дать ввод как:
<?xml version="1.0"?>
<new:NewAddressData xmlns:new="http://www.example.org/NewAddress">
<new:NewStreet></new:NewStreet>
<new:NewArea>Area_1</new:NewArea>
<new:NewState></new:NewState>
</new:NewAddressData>
Вывод должен быть:
<new:NewArea>Area_1</new:NewArea>
На самом деле Иам новая пчела для XSLT, но я прочитал некоторые основы и попытался под кодом:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" omit-xml-declaration="yes"/>
<xsl:strip-space elements="*"/>
<!-- identity transform -->
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:choose>
<xsl:when test="@*|node() != ''">
<xsl:value-of select="." disable-output-escaping="yes" />
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates select="@*|node()"/>
</xsl:otherwise>
</xsl:choose>
</xsl:copy>
</xsl:template>
для этого я получаю выход как:
<new:NewAddressData xmlns:new="http://www.example.org/NewAddress">Area_1</new:NewAddressData>
где ожидаемое значение должно быть как:
<new:NewArea>Area_1</new:NewArea>
Так как я могу добиться этого при помощи XSLT 1.0
Спасибо аванс
Что вы здесь сделали: вы отбросили требование на этот сайт, в надежде, что кто-то даст вам коды. Это не работает на этом веб-сайте. Пожалуйста, покажите свои усилия и объясните конкретные проблемы, которые у вас есть. Мы не являемся бесплатным сервисом программирования. – Tomalak
Ввод не является стандартным XML, он плохо сформирован, разместите XSLT, что вы пытались получить результат. –
Hi @Tomalak благодарит за ответ. сообщите мне, если требуется какая-либо другая информация. –