0
Я новичок в XSLT. У меня есть следующий XML-файл:Изменение XML с использованием XSLT
<?xml version="1.0" encoding="UTF-8"?>
<SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP:Body>
<response:performJobResponse xmlns:response="http://tempuri.org/" SOAP:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<whiteboard>
<PQ>
<response>
<PQIssueHistory>
<AWD10SP7_1orhigher>Y</AWD10SP7_1orhigher>
<hostAddress>10.193.XXX.78</hostAddress>
<hostPort>12955</hostPort>
<userID>7X606</userID>
<password>[email protected]</password>
<issue>
<CRDATTIM>2015-07-29-04.27.15.461040</CRDATTIM>
<RECORDCD>T</RECORDCD>
<CRNODE>01</CRNODE>
<ORIGUSERID>DT77214</ORIGUSERID>
</issue>
</PQIssueHistory>
<results>
<row>
<RECTYP>HISTORY</RECTYP>
</row>
</results>
<comments xmlns="http://www.dsttechnologies.com/awd/rest/v1" total="4">
<comment notify="false" id="b5ee129a-0338-41c7-881b-ab8c1727de36">
<source>SYSTEM</source>
</comment>
</comments>
</response>
</PQ>
</whiteboard>
<jobReturn>
<taskName>TransformNode</taskName>
<description>TransformNode Succeeded</description>
<value>0</value>
</jobReturn>
</response:performJobResponse>
</SOAP:Body>
</SOAP:Envelope>
Я хочу изменить приведенный выше XML таким образом, чтобы узлы под <comments>
должны быть перемещены под <PQIssueHistory>
. Новоиспеченный <comment>
должен быть переименован в <row>
.
Окончательный результирующий XML должен выглядеть следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP:Body>
<response:performJobResponse xmlns:response="http://tempuri.org/" SOAP:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<whiteboard>
<PQ>
<PQIssueHistory>
<AWD10SP7_1orhigher>Y</AWD10SP7_1orhigher>
<hostAddress>10.193.XXX.78</hostAddress>
<hostPort>12955</hostPort>
<userID>7X606</userID>
<password>[email protected]</password>
<issue>
<CRDATTIM>2015-07-29-04.27.15.461040</CRDATTIM>
<RECORDCD>T</RECORDCD>
<CRNODE>01</CRNODE>
<ORIGUSERID>DT77214</ORIGUSERID>
</issue>
</PQIssueHistory>
<row>
<RECTYP>HISTORY ONE</RECTYP>
</row>
<row>
<RECTYP>HISTORY TWO</RECTYP>
</row>
<row>
<source>SYSTEM</source>
</row>
</PQ>
</whiteboard>
<jobReturn>
<taskName>TransformNode</taskName>
<description>TransformNode Succeeded</description>
<value>0</value>
</jobReturn>
</response:performJobResponse>
</SOAP:Body>
</SOAP:Envelope>
Пожалуйста, не стесняйтесь спросить, если у вас есть какие-либо вопросы.
Супер ... На самом деле я боролся с пространствами имен. Вы сохранили мой день .. +1 для вашего быстрого решения. :) –