Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.2k views
in Technique[技术] by (71.8m points)

xslt - How to remove a xml node using condition based on element

@Yitzhak. Thank you so much for the answers. I'd like to update my full XSLT file and I hope you can continue to help I have below xml file and I'd like to ask how can I remove the entire <MaterialCallOff> node based on condition that element PlantCode=2001 using XSLT ?

The current XSLT is below but it did not work

--Deleted due to company regulation violation 
question from:https://stackoverflow.com/questions/65930865/how-to-remove-a-xml-node-using-condition-based-on-element

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Please try the following XSLT.

XSLT

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="xml" encoding="utf-8" indent="yes" omit-xml-declaration="yes"/>
    <xsl:strip-space elements="*"/>

    <xsl:template match="node() | @*">
        <xsl:copy>
            <xsl:apply-templates select="node() | @*"/>
        </xsl:copy>
    </xsl:template>

    <xsl:template match="MaterialCallOff[PlantCode='2001' and Workplace='3092_GACH08S1']">
    </xsl:template>
</xsl:stylesheet>

Output

<Testing xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <WholeInfo>
    <MaterialCallOff>
      <PlantCode>3092</PlantCode>
      <PartNumber>BIW40002871</PartNumber>
      <CallType>Automatic</CallType>
      <Quantity>16</Quantity>
      <UOM>EA</UOM>
      <Workplace>3092_GACH08S1</Workplace>
    </MaterialCallOff>
    <MaterialCallOff>
      <PlantCode>3092</PlantCode>
      <PartNumber>BIW40002872</PartNumber>
      <CallType>Automatic</CallType>
      <Quantity>14</Quantity>
      <UOM>EA</UOM>
      <Workplace>3092_GACH08S1</Workplace>
    </MaterialCallOff>
  </WholeInfo>
</Testing>

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...