XmlSyntaxRewriter Class

Builds a new tree by visiting an old one and returning replacements.

public class XmlSyntaxRewriter : XmlSyntaxVisitor<SyntaxNode?>

Remarks

A node whose parts all come back unchanged is returned as it was, so rewriting a tree and changing nothing in it costs nothing and keeps every node.

Example

private sealed class RenameRoot : XmlSyntaxRewriter
{
    public override SyntaxNode? VisitElement(XmlElementSyntax node)
        => node.Name == "root" ? node.WithName("renamed") : base.VisitElement(node);
}
Inheritance
XmlSyntaxVisitor<SyntaxNode?> XmlSyntaxRewriter

Constructors

NameDescription
XmlSyntaxRewriter()

XmlSyntaxRewriter()

public XmlSyntaxRewriter()

No documentation is available.

Methods

NameDescription
VisitAttribute(XmlAttributeSyntax)
VisitCDataSection(XmlCDataSectionSyntax)
VisitComment(XmlCommentSyntax)
VisitDeclaration(XmlDeclarationSyntax)
VisitDocument(XmlDocumentSyntax)
VisitDocumentType(XmlDocumentTypeSyntax)
VisitElement(XmlElementSyntax)
VisitElementEndTag(XmlElementEndTagSyntax)
VisitElementStartTag(XmlElementStartTagSyntax)
VisitEmptyElement(XmlEmptyElementSyntax)
VisitList(SyntaxTokenList)
VisitList(SyntaxTriviaList)Rewrites each trivium of a list, dropping the ones a rewrite turned into the default trivium.
VisitList<TNode>(SyntaxList<TNode>)
VisitProcessingInstruction(XmlProcessingInstructionSyntax)
VisitSkippedText(XmlSkippedTextSyntax)
VisitText(XmlTextSyntax)
VisitToken(SyntaxToken)Rewrites a token, putting the trivia around it through XmlSyntaxRewriter.VisitTrivia.
VisitTrivia(SyntaxTrivia)

VisitAttribute(XmlAttributeSyntax)

XmlSyntaxRewriter.cs
public override SyntaxNode? VisitAttribute(XmlAttributeSyntax node)

Parameters

node XmlAttributeSyntax

Returns

SyntaxNode?

No documentation is available.

VisitCDataSection(XmlCDataSectionSyntax)

XmlSyntaxRewriter.cs
public override SyntaxNode? VisitCDataSection(XmlCDataSectionSyntax node)

Parameters

node XmlCDataSectionSyntax

Returns

SyntaxNode?

No documentation is available.

VisitComment(XmlCommentSyntax)

XmlSyntaxRewriter.cs
public override SyntaxNode? VisitComment(XmlCommentSyntax node)

Parameters

node XmlCommentSyntax

Returns

SyntaxNode?

No documentation is available.

VisitDeclaration(XmlDeclarationSyntax)

XmlSyntaxRewriter.cs
public override SyntaxNode? VisitDeclaration(XmlDeclarationSyntax node)

Parameters

node XmlDeclarationSyntax

Returns

SyntaxNode?

No documentation is available.

VisitDocument(XmlDocumentSyntax)

XmlSyntaxRewriter.cs
public override SyntaxNode? VisitDocument(XmlDocumentSyntax node)

Parameters

node XmlDocumentSyntax

Returns

SyntaxNode?

No documentation is available.

VisitDocumentType(XmlDocumentTypeSyntax)

XmlSyntaxRewriter.cs
public override SyntaxNode? VisitDocumentType(XmlDocumentTypeSyntax node)

Parameters

node XmlDocumentTypeSyntax

Returns

SyntaxNode?

No documentation is available.

VisitElement(XmlElementSyntax)

XmlSyntaxRewriter.cs
public override SyntaxNode? VisitElement(XmlElementSyntax node)

Parameters

node XmlElementSyntax

Returns

SyntaxNode?

No documentation is available.

VisitElementEndTag(XmlElementEndTagSyntax)

XmlSyntaxRewriter.cs
public override SyntaxNode? VisitElementEndTag(XmlElementEndTagSyntax node)

Parameters

node XmlElementEndTagSyntax

Returns

SyntaxNode?

No documentation is available.

VisitElementStartTag(XmlElementStartTagSyntax)

XmlSyntaxRewriter.cs
public override SyntaxNode? VisitElementStartTag(XmlElementStartTagSyntax node)

No documentation is available.

VisitEmptyElement(XmlEmptyElementSyntax)

XmlSyntaxRewriter.cs
public override SyntaxNode? VisitEmptyElement(XmlEmptyElementSyntax node)

Parameters

node XmlEmptyElementSyntax

Returns

SyntaxNode?

No documentation is available.

VisitList overloads

VisitList(SyntaxTokenList)

XmlSyntaxRewriter.cs
public virtual SyntaxTokenList VisitList(SyntaxTokenList list)
Parameters
list SyntaxTokenList
Returns

SyntaxTokenList

No documentation is available.

VisitList(SyntaxTriviaList)

XmlSyntaxRewriter.cs

Rewrites each trivium of a list, dropping the ones a rewrite turned into the default trivium.

public virtual SyntaxTriviaList VisitList(SyntaxTriviaList list)
Parameters
list SyntaxTriviaList
Returns

SyntaxTriviaList

VisitList<TNode>(SyntaxList<TNode>)

XmlSyntaxRewriter.cs
public virtual SyntaxList<TNode> VisitList<TNode>(SyntaxList<TNode> list) where TNode : XmlSyntaxNode
Type parameters
TNode
Parameters
list SyntaxList<TNode>
Returns

SyntaxList<TNode>

No documentation is available.

VisitProcessingInstruction(XmlProcessingInstructionSyntax)

XmlSyntaxRewriter.cs
public override SyntaxNode? VisitProcessingInstruction(XmlProcessingInstructionSyntax node)

No documentation is available.

VisitSkippedText(XmlSkippedTextSyntax)

XmlSyntaxRewriter.cs
public override SyntaxNode? VisitSkippedText(XmlSkippedTextSyntax node)

Parameters

node XmlSkippedTextSyntax

Returns

SyntaxNode?

No documentation is available.

VisitText(XmlTextSyntax)

XmlSyntaxRewriter.cs
public override SyntaxNode? VisitText(XmlTextSyntax node)

Parameters

node XmlTextSyntax

Returns

SyntaxNode?

No documentation is available.

VisitToken(SyntaxToken)

XmlSyntaxRewriter.cs

Rewrites a token, putting the trivia around it through XmlSyntaxRewriter.VisitTrivia.

public virtual SyntaxToken VisitToken(SyntaxToken token)

Parameters

token SyntaxToken

Returns

SyntaxToken

Remarks

Nothing else reaches a token's trivia, so an override of XmlSyntaxRewriter.VisitTrivia would never be called if this returned the token untouched. A rewrite that returns the default trivium removes it.

VisitTrivia(SyntaxTrivia)

XmlSyntaxRewriter.cs
public virtual SyntaxTrivia VisitTrivia(SyntaxTrivia trivia)

Parameters

trivia SyntaxTrivia

Returns

SyntaxTrivia

No documentation is available.