SyntaxFactory Class
Builds XML nodes, tokens, and trivia.
public static class SyntaxFactoryRemarks
A node built here is not part of any document, so its span starts at zero. Putting it into a tree with SyntaxNodeExtensions.ReplaceNode gives it a real position, without re-reading any text.
Example
var node = SyntaxFactory.XmlEmptyElement("package", [SyntaxFactory.XmlAttribute("version", "1.0.0")]);
var document = SyntaxFactory.XmlDocument(node);
Assert.Equal("<package version=\"1.0.0\" />", document.ToFullString());Properties
| Name | Description |
|---|---|
| CarriageReturnLineFeed | A Windows line break. |
| LineFeed | A Unix line break. |
| Space | A single space. |
| Tab | A single tab. |
CarriageReturnLineFeed
SyntaxFactory.csLineFeed
SyntaxFactory.csSpace
SyntaxFactory.csMethods
AttributeValue(string, char)
SyntaxFactory.csCreates an attribute value token, escaping what has to be escaped inside quote.
public static SyntaxToken AttributeValue(string value, char quote = '"')EndOfLine(string)
SyntaxFactory.cspublic static SyntaxTrivia EndOfLine(string text)Identifier(string)
SyntaxFactory.csCreates a name token.
public static SyntaxToken Identifier(string name)MissingToken(SyntaxKind)
SyntaxFactory.csCreates a zero-width token standing in for one a document does not have.
public static SyntaxToken MissingToken(SyntaxKind kind)Token overloads
Token(SyntaxKind)
SyntaxFactory.csCreates a token of kind, spelled the only way that kind can be.
public static SyntaxToken Token(SyntaxKind kind)Token(SyntaxKind, string)
SyntaxFactory.csCreates a token of kind spelled text.
public static SyntaxToken Token(SyntaxKind kind, string text)Trivia(SyntaxKind, string)
SyntaxFactory.cspublic static SyntaxTrivia Trivia(SyntaxKind kind, string text)Whitespace(string)
SyntaxFactory.cspublic static SyntaxTrivia Whitespace(string text)XmlAttribute overloads
XmlAttribute(SyntaxToken, SyntaxToken, SyntaxToken, SyntaxToken, SyntaxToken)
SyntaxFactory.cspublic static XmlAttributeSyntax XmlAttribute(SyntaxToken nameToken, SyntaxToken equalsToken, SyntaxToken startQuoteToken, SyntaxToken valueToken, SyntaxToken endQuoteToken)Parameters
nameTokenSyntaxTokenequalsTokenSyntaxTokenstartQuoteTokenSyntaxTokenvalueTokenSyntaxTokenendQuoteTokenSyntaxToken
Returns
No documentation is available.
XmlAttribute(string, string)
SyntaxFactory.cspublic static XmlAttributeSyntax XmlAttribute(string name, string value)XmlCDataSection overloads
XmlCDataSection(SyntaxToken, SyntaxToken, SyntaxToken)
SyntaxFactory.cspublic static XmlCDataSectionSyntax XmlCDataSection(SyntaxToken startCDataToken, SyntaxToken textToken, SyntaxToken endCDataToken)No documentation is available.
XmlCDataSection(string)
SyntaxFactory.cspublic static XmlCDataSectionSyntax XmlCDataSection(string text)XmlComment overloads
XmlComment(SyntaxToken, SyntaxToken, SyntaxToken)
SyntaxFactory.cspublic static XmlCommentSyntax XmlComment(SyntaxToken startCommentToken, SyntaxToken textToken, SyntaxToken endCommentToken)No documentation is available.
XmlComment(string)
SyntaxFactory.cspublic static XmlCommentSyntax XmlComment(string text)XmlDeclaration overloads
XmlDeclaration(SyntaxToken, SyntaxList<XmlAttributeSyntax>, SyntaxToken)
SyntaxFactory.cspublic static XmlDeclarationSyntax XmlDeclaration(SyntaxToken startDeclarationToken, SyntaxList<XmlAttributeSyntax> attributes, SyntaxToken endDeclarationToken)Parameters
startDeclarationTokenSyntaxTokenattributesSyntaxList<XmlAttributeSyntax>endDeclarationTokenSyntaxToken
Returns
No documentation is available.
XmlDeclaration(string, string?, string?)
SyntaxFactory.cspublic static XmlDeclarationSyntax XmlDeclaration(string version = "1.0", string? encoding = null, string? standalone = null)XmlDocument overloads
XmlDocument(SyntaxList<XmlNodeSyntax>, SyntaxToken)
SyntaxFactory.cspublic static XmlDocumentSyntax XmlDocument(SyntaxList<XmlNodeSyntax> nodes, SyntaxToken endOfFileToken)No documentation is available.
XmlDocument(XmlNodeSyntax[])
SyntaxFactory.cspublic static XmlDocumentSyntax XmlDocument(params XmlNodeSyntax[] nodes)XmlDocumentType overloads
XmlDocumentType(SyntaxToken, SyntaxToken, SyntaxToken, SyntaxToken)
SyntaxFactory.cspublic static XmlDocumentTypeSyntax XmlDocumentType(SyntaxToken startDocumentTypeToken, SyntaxToken nameToken, SyntaxToken contentToken, SyntaxToken greaterThanToken)Parameters
startDocumentTypeTokenSyntaxTokennameTokenSyntaxTokencontentTokenSyntaxTokengreaterThanTokenSyntaxToken
Returns
No documentation is available.
XmlDocumentType(string, string?)
SyntaxFactory.cspublic static XmlDocumentTypeSyntax XmlDocumentType(string name, string? value = null)XmlElement overloads
XmlElement(XmlElementStartTagSyntax, SyntaxList<XmlNodeSyntax>, XmlElementEndTagSyntax?)
SyntaxFactory.cspublic static XmlElementSyntax XmlElement(XmlElementStartTagSyntax startTag, SyntaxList<XmlNodeSyntax> content, XmlElementEndTagSyntax? endTag)Parameters
startTagXmlElementStartTagSyntaxcontentSyntaxList<XmlNodeSyntax>endTagXmlElementEndTagSyntax?
Returns
No documentation is available.
XmlElement(string, XmlNodeSyntax[])
SyntaxFactory.csCreates an element with a start tag, content, and a matching end tag.
public static XmlElementSyntax XmlElement(string name, params XmlNodeSyntax[] content)Parameters
namestringcontentXmlNodeSyntax[]
Returns
Exceptions
ArgumentNullExceptionnameorcontentisnull.
XmlElement(string, IEnumerable<XmlAttributeSyntax>, IEnumerable<XmlNodeSyntax>)
SyntaxFactory.csCreates an element with a start tag, content, and a matching end tag.
public static XmlElementSyntax XmlElement(string name, IEnumerable<XmlAttributeSyntax> attributes, IEnumerable<XmlNodeSyntax> content)Parameters
namestringattributesIEnumerable<XmlAttributeSyntax>contentIEnumerable<XmlNodeSyntax>
Returns
Exceptions
ArgumentNullExceptionname,attributes, orcontentisnull.
XmlElementEndTag overloads
XmlElementEndTag(SyntaxToken, SyntaxToken, SyntaxTokenList, SyntaxToken)
SyntaxFactory.cspublic static XmlElementEndTagSyntax XmlElementEndTag(SyntaxToken lessThanSlashToken, SyntaxToken nameToken, SyntaxTokenList skippedTokens, SyntaxToken greaterThanToken)Parameters
lessThanSlashTokenSyntaxTokennameTokenSyntaxTokenskippedTokensSyntaxTokenListgreaterThanTokenSyntaxToken
Returns
No documentation is available.
XmlElementEndTag(string)
SyntaxFactory.cspublic static XmlElementEndTagSyntax XmlElementEndTag(string name)XmlElementStartTag overloads
XmlElementStartTag(SyntaxToken, SyntaxToken, SyntaxList<XmlAttributeSyntax>, SyntaxToken)
SyntaxFactory.cspublic static XmlElementStartTagSyntax XmlElementStartTag(SyntaxToken lessThanToken, SyntaxToken nameToken, SyntaxList<XmlAttributeSyntax> attributes, SyntaxToken greaterThanToken)Parameters
lessThanTokenSyntaxTokennameTokenSyntaxTokenattributesSyntaxList<XmlAttributeSyntax>greaterThanTokenSyntaxToken
Returns
No documentation is available.
XmlElementStartTag(string, IEnumerable<XmlAttributeSyntax>)
SyntaxFactory.cspublic static XmlElementStartTagSyntax XmlElementStartTag(string name, IEnumerable<XmlAttributeSyntax> attributes)Parameters
namestringattributesIEnumerable<XmlAttributeSyntax>
Returns
Exceptions
ArgumentNullExceptionnameorattributesisnull.
XmlEmptyElement overloads
XmlEmptyElement(SyntaxToken, SyntaxToken, SyntaxList<XmlAttributeSyntax>, SyntaxToken)
SyntaxFactory.cspublic static XmlEmptyElementSyntax XmlEmptyElement(SyntaxToken lessThanToken, SyntaxToken nameToken, SyntaxList<XmlAttributeSyntax> attributes, SyntaxToken slashGreaterThanToken)Parameters
lessThanTokenSyntaxTokennameTokenSyntaxTokenattributesSyntaxList<XmlAttributeSyntax>slashGreaterThanTokenSyntaxToken
Returns
No documentation is available.
XmlEmptyElement(string)
SyntaxFactory.cspublic static XmlEmptyElementSyntax XmlEmptyElement(string name)XmlEmptyElement(string, IEnumerable<XmlAttributeSyntax>)
SyntaxFactory.cspublic static XmlEmptyElementSyntax XmlEmptyElement(string name, IEnumerable<XmlAttributeSyntax> attributes)Parameters
namestringattributesIEnumerable<XmlAttributeSyntax>
Returns
Exceptions
ArgumentNullExceptionnameorattributesisnull.
XmlProcessingInstruction overloads
XmlProcessingInstruction(SyntaxToken, SyntaxToken, SyntaxToken, SyntaxToken)
SyntaxFactory.cspublic static XmlProcessingInstructionSyntax XmlProcessingInstruction(SyntaxToken startProcessingInstructionToken, SyntaxToken nameToken, SyntaxToken dataToken, SyntaxToken endProcessingInstructionToken)Parameters
startProcessingInstructionTokenSyntaxTokennameTokenSyntaxTokendataTokenSyntaxTokenendProcessingInstructionTokenSyntaxToken
Returns
No documentation is available.
XmlProcessingInstruction(string, string?)
SyntaxFactory.cspublic static XmlProcessingInstructionSyntax XmlProcessingInstruction(string target, string? data)XmlSkippedText overloads
XmlSkippedText(SyntaxTokenList)
SyntaxFactory.cspublic static XmlSkippedTextSyntax XmlSkippedText(SyntaxTokenList tokens)No documentation is available.
XmlSkippedText(string)
SyntaxFactory.cspublic static XmlSkippedTextSyntax XmlSkippedText(string text)XmlText overloads
XmlText(SyntaxToken)
SyntaxFactory.cspublic static XmlTextSyntax XmlText(SyntaxToken textToken)No documentation is available.
XmlText(string)
SyntaxFactory.cspublic static XmlTextSyntax XmlText(string text)Parameters
textstring
Returns
Exceptions
ArgumentNullExceptiontextisnull.
Remarks
text is written exactly as given, so a reference it holds stays a reference; the node's XmlTextSyntax.Value is what that text reads as.