Я пытаюсь удалить некоторые элементы из ответа на мыло, которое я получаю в формате XML. Однако, когда я использую предложения в других вопросах XLST, я всегда удаляю все содержимое, вложенное в этот элемент. Я просто хочу, чтобы пропустить эту часть XML-документ, так что я могу иметь чистый XML документ без каких-либо пространств имен или мыл конвертов и т.д.Удаление элементов из xml-файла с XLST
Я попытался использовать идеи, как это: remove xml tags with XSLT
но без везения , Если бы кто-нибудь мог помочь мне в этом, это было бы здорово.
Пример XML:
<?xml version="1.0" encoding="UTF-8"?>
<request_dataResponse encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><request_dataReturn type="soapenc:string"><Vessel>
<VesselID>117774</VesselID>
<IMO>7625988</IMO>
<VslName>Shamrock Pride</VslName>
</Vessel>
</request_dataReturn></request_dataResponse>
Обратите внимание, что по какой-то причине тег судно не на следующей строке, но находится в конце мыльных тегов. В этой строке также есть несколько меток мыла, называемых Request and Return.
То, что я хочу, чтобы достичь является XML, который выглядит следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<Vessel>
<VesselID>117774</VesselID>
<IMO>7625988</IMO>
<VslName>Shamrock Pride</VslName>
</Vessel>
Я попытался с помощью XSLT следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="node() | @*">
<xsl:copy>
<xsl:apply-templates select="node() | @*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="request_dataResponse|request_dataReturn"/>
</xsl:stylesheet>
Но он просто удаляет все данные в тегах вложенных после мыльные тэги.
Может кто-нибудь, пожалуйста, помогите мне с этим?
Это не ваш вход, не так ли? Поскольку это не хорошо сформированный XML-документ: для 'request_dataResponse' и' request_dataReturn', а '' не содержит закрывающих тегов '' не соответствует ' '. Все, что вы когда-либо выберете, это сообщение об ошибке. –
Правильно. Я пропустил часть данных из-за того, что он был чувствительным к компании. Но я думал, что люди поймут эту идею. исправление его сейчас – AronChan
Идея здесь заключается в том, чтобы запустить ваш код и воспроизвести проблему, прежде чем перейти к ее решению. –