Оригинал ЗапросИзвлечение элементы между узлом = XSLT
<?xml version="1.0" encoding="utf-8"?>
<typ:CustomerResponse xmlns:typ="http://xml.mycomp.com/customer/types">
<typ:CustomerReturn>
<typ:Address>
<typ:state>PA</typ:state>
<typ:city>Harrisburg</typ:city>
</typ:Address>
<typ:User>
<typ:firstName>test</typ:firstName>
<typ:lastName>test</typ:lastName>
</typ:User>
</typ:CustomerReturn>
</typ:CustomerResponse>
Я удалил Пространства имен XML с помощью XSLT. Ниже
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<xsl:output method="xml" indent="yes" />
<xsl:template match="*">
<xsl:element name="{local-name(.)}">
<xsl:apply-templates select="@* | node()" />
</xsl:element>
</xsl:template>
<xsl:template match="@*">
<xsl:attribute name="{local-name(.)}">
<xsl:value-of select="." />
</xsl:attribute>
</xsl:template>
<xsl:template match="@xsi:nil[.='true']"/>
</xsl:stylesheet>
После выполнения выше преобразований на моем первоначально XML, который имеет пространство имен я получаю ниже -
<?xml version="1.0" encoding="utf-8"?>
<CustomerResponse>
<CustomerReturn>
<Address>
<state>PA</state>
<city>Harrisburg</city>
</Address>
<User>
<firstName>test</firstName>
<lastName>test</lastName>
</User>
</CustomerReturn>
</CustomerResponse>
Я хочу, чтобы увеличить существующий файл XSLT, чтобы получить результат, аналогичный ниже.
Ожидаемый результат
<CustomerResponse>
<Address>
<state>PA</state>
<city>Harrisburg</city>
</Address>
<User>
<firstName>test</firstName>
<lastName>test</lastName>
</User>
</CustomerResponse>
Ваш вопрос не ясен. Пожалуйста, покажите исходный входной XML и ожидаемый результат преобразования. –
Привет, Майкл, добавил ожидаемый результат. –
Пожалуйста, покажите нам оригинальный вход. - Знаете ли вы, что нужный результат не является хорошо сформированным XML? –