开发者

XSL Transform - Remove Parent Node

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns="urn:enterprise.soap.sforce.com">
 <soapenv:Body>
  <upsertResponse>
   <result>
    <created>true</created>
    <id>0011</id>
    <success>true</success>
   </result>
   <result>
    <created>false</created>
    <id>0012</id>
   开发者_JAVA技巧 <success>true</success>
   </result>
  </upsertResponse>
 </soapenv:Body>
</soapenv:Envelope>

**How can I transform this to** 

<upsertResponse>
 <result>
  <created>true</created>
  <id>0011</id>
  <success>true</success>
 </result>
 <result>
  <created>false</created>
  <id>0012</id>
  <success>true</success>
 </result>
</upsertResponse>


This is an example of XSL that takes the first child of first child of root and makes it root node of new XML:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

     <xsl:template match="/">
          <xsl:copy-of select="./*[1]/*[1]/*[1]" />
     </xsl:template>

</xsl:stylesheet>

Please note that you can take only one node and not multiple nodes since placing few nodes as root of XML is not valid.


Use an <xsl:match> to select the <upsertResponse> element, then put an <xsl:copy> inside of it. That should do the trick. Sorry I don't have the exact syntax, but hopefully this points you in the right direction.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜