VIDTAKER.COM

Q&A

XSLは:親ノードを除くすべてのxmlをコピーしても、その子ノードを保持


エイチアイは、私はスタイルシートで新たなんだし、ドキュメントを探しているのXMLソリューション全体にコピーがドキュメントからXMLノードを削除する親。しかし、この親ノードも、私は維持したいのですが子供をしています。

ノードが削除することです<LoginID>と子ノードを維持することです<PAN>

<InqRs>
   <LoginID>
     <PAN>4506445</PAN>
   </LoginID>
   <RqUID>93</RqUID>
   <Dt>90703195116</Dt>
   <CaptureDate>704</CaptureDate>
   <ApprovalCode>934999</ApprovalCode>
   <StatusCode>000</StatusCode>
   <List>
   <Count>9</Count>
   <AddDataFlag>N</AddDataFlag>
   <Use>C</Use>
   <DetRec>
   <ID>007237048637</ID>
   <Type1>62</Type1>
   <Qual />
   <ID>0010</ID>
   <Status>1</Status>
   <InqFlag>Y</InqFlag>
   </DetRec>
   </List>
 </InqRs>

感謝



3 Replies

1)

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="LoginID">
    <xsl:apply-templates select="PAN"/>
  </xsl:template>
  <xsl:template match="*">
   <xsl:copy><xsl:apply-templates/></xsl:copy>
  </xsl:template>
</xsl:stylesheet>

2)

そのコードからノードを削除する場合だけ、次のXSLを適用InqRs:

<xsl:output method="xml"/>
<xsl:template match="node()">
    <xsl:copy>
        <xsl:copy-of select="@*"/>
        <xsl:apply-templates/>
    </xsl:copy>
</xsl:template>

<xsl:template match="PAN">
    <LoginID>
           <xsl:copy-of select="."/>
    </LoginID>
</xsl:template>

あなたはこのような何かを取得します

<InqRs>
    <LoginID> 
        <PAN> 4506445 </PAN>           
    </LoginID>
    <RqUID>93</RqUID>
    <Dt>90703195116</Dt>
    <CaptureDate>704</CaptureDate>
    <ApprovalCode>934999</ApprovalCode>
    <StatusCode>000</StatusCode>
    <List> 
         <Count>9</Count> 
         <AddDataFlag>N</AddDataFlag> 
         <Use>C</Use> 
         <DetRec> 
             <ID>007237048637</ID> 
             <Type1>62</Type1>
             <Qual/> 
             <ID>0010</ID> 
             <Status>1</Status> 
             <InqFlag>Y</InqFlag> 
         </DetRec> 
    </List>
<InqRs>

私はこのヘルプを期待する


3)

迅速な回答をありがとう...私は両方のソリューションで遊んでています。私場合はどうしたら次のデータを持ち、私は今の親ノードを追加する手配に戻るここでloginid

<InqRs> 
   <PAN>4506445</PAN> 
   <RqUID>93</RqUID> 
   <Dt>90703195116</Dt> 
   <CaptureDate>704</CaptureDate> 
</InqRs>

< - 検索結果の募集 - >を

<InqRs> 
    **<LoginID>** 
        <PAN> 4506445 </PAN> 
    **</LoginID>** 
    <RqUID>93</RqUID> 
    <Dt>90703195116</Dt> 
    <CaptureDate>704</CaptureDate> 
 </InqRs>

感謝