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="http://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
Related Q&A from Daniel Cazzulino
Here Daniel Cazzulino explains how to load a DSL (domain specific language) domain model instance file programmatically. This requires the .NET type ...continue reading
Here we offer a glimpse at 12 of .NET development expert Danny Cazzulino's top ASP.NET questions and answers.continue reading
C# developers should NOT be modifying InitializeComponent method in the code-behind (or any of the variable definitions) by hand.continue reading
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.