XSLT zum entfernen von SOAP-envelope, aber lassen namespaces
Brauche ich zum entfernen von soap-Umschlag aus der soap-Nachricht. Für die, die ich verwenden möchten, XSLT, java nicht. Besser wäre es, die richtige Lösung für den Betrieb dieser Art von xml.
Z.B. ich habe eine soap-Nachricht:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tar="namespace"
xmlns:tar1="namespace">
<soapenv:Header/>
<soapenv:Body>
<tar:RegisterUser>
<tar1:Source>?</tar1:Source>
<tar1:Profile>
<tar1:EmailAddress>?</tar1:EmailAddress>
</tar1:Profile>
</tar:RegisterUser>
</soapenv:Body>
</soapenv:Envelope>
Und ich möchte, dass meine Ausgabe so etwas wie dieses:
<tar:RegisterUser xmlns:tar="namespace" xmlns:tar1="namespace">
<tar1:Source>?</tar1:Source>
<tar1:Profile>
<tar1:EmailAddress>?</tar1:EmailAddress>
</tar1:Profile>
</tar:RegisterUser>
Kann jemand mir einige Ideen, wie dies zu tun?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dieser entledigt sich der
soapenv:
Elemente und die namespace-Deklaration.Ergebnis:
Ausgabe:
Leider ich konnte nicht finden eine einfache Möglichkeit, entfernen Sie die
xmlns:soapenv
Attribut.exclude-result-namespaces="soapenv"
Attribut<xsl:stylesheet>
exclude-result-prefixes="soapenv"
natürlich. Aber du hast Recht, die namespace bleibt, weil der<xsl:copy-of>
. Siehe meine Lösung für eine elegantere Art und Weise entfernt, dass sowohl der Umschlag als auch der namespace.