Q
Problem solve Get help with specific problems with your technologies, process and projects.

Modifying XML rows using XSL sheets

Can you explain how to select and modify or delete a row in an XML file using XSL sheets?
The way you do it is by having an XSLT that selectively copies to the target output. Here's one such file:

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="https://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/ | @* | node()">
    <xsl:if test="not(local-name(.)='Customer' and @Id='02')"> 
      <xsl:copy>
        <xsl:apply-templates select="@* | node()" />
      </xsl:copy>
    </xsl:if>
  </xsl:template>
</xsl:stylesheet>
Look at the <xsl:if> element, that tests that the current node is not a Customer with an Id attribute of "2", and in that case, it performs the copy.

For a source file like the following:

<?xml version="1.0" encoding="utf-8" ?> 
<Root>
  <Customer Id="01" />
  <Customer Id="02" />
</Root>
You'd get the following output:
<?xml version="1.0" encoding="utf-8" ?> 
<Root>
  <Customer Id="01" />
</Root>

Dig Deeper on Win Development Resources

Have a question for an expert?

Please add a title for your question

Get answers from a TechTarget expert on whatever's puzzling you.

You will be able to add details on the next page.

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.

-ADS BY GOOGLE

SearchCloudComputing

SearchSoftwareQuality

TheServerSide.com

Close