Как разобрать XML внутри CDATA другого XML с помощью xslt?
Мне нужно преобразовать XML внутри CDATA XML, используя один XSLT.
У меня есть XML, как показано ниже, с XML внутри CDATA, как показано ниже XML.
<message channel-id="e01db0aa-b3db-4b6c-a055-7a0d5c1d1f20" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" >
<send-parameters>
<agent-parameter multi-valued="false">
<name>Networks</name>
<value><![CDATA[<Networks>,;
<Network>
<GroupCode>EXTPRI</GroupCode>
<NetworkTypeId>LANI</NetworkTypeId>
<OrgNetworkPlatformName>EON-0cbu0cust12301dcd-D-PCL-0002</OrgNetworkPlatformName>
<OrgNetworkPlatformID>urn:vcloud:network:b7ccfd5f-cfd7-48eb-9dd6-1989b08d7b86</OrgNetworkPlatformID>
</Network>
<Network>
<GroupCode>EXTPRI</GroupCode>
<NetworkTypeId>LANI</NetworkTypeId>
<OrgNetworkPlatformName>ABC-0cbu0cust12301dcd-D-PCL-XYZ</OrgNetworkPlatformName>
<OrgNetworkPlatformID>urn:vcloud:network:b7ccfd5f-cfd7-48eb-9dd6-1989b08d7b86</OrgNetworkPlatformID>
</Network>
</Networks>]]></value>
</agent-parameter>
</send-parameters>
</message>
Мне нужно преобразовать XML в:
<?xml version="1.0" encoding="UTF-8"?>
<message xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" channel-id="7652d759-4b32-44d4-8a27-9e390f0cae7b">
<send-parameters>
<agent-parameter multi-valued="false">
<name>ExternalPublicOrgNWPlatformID_DDC</name>
<value>EON-0cbu0cust12301dcd-D-PCL-0002</value>
</agent-parameter>
<agent-parameter multi-valued="false">
<name>ExternalPublicOrgNWPlatformID_DS</name>
<value>ABC-0cbu0cust12301dcd-D-PCL-XYZ</value>
</agent-parameter>
</send-parameters>
</message>
Это пример выходных данных, которые я дал, в xml будет несколько узлов, через которые мне нужно пройти и сгенерировать выходной xml.
Я использую xslt, направляя xpath до узла внутри cdata исходного xml. но он дает пустой, как это было не в формате древовидной структуры.
Я не могу получить X-Path для XML внутри CDATA. Это работает хорошо, если я удаляю CDATA в XML, но XML приходит из внешней системы, которая не может быть изменена.
Я не могу использовать несколько xslts, мне нужно применить один XSLT.
Не могли бы вы подсказать мне об этом.
Большое спасибо в ожидании ..