Although the .NET Framework ships with a comprehensive XML library, Sam B's coworkers aren't big fans of it. It's far too fancy, they claim. Instead, they prefer to use StringBuilders, concatenation, and IndexOf(">")-style parsing.
"What on Earth do we need XML-Navigation and Nodes for," they'll often rhetorically say, "come on, it's all just string manipulation!" As it turns out, "XML-Navigation" and "Nodes" certainly do come in handy, especially when one needs to, say, navigate nodes in XML, as they'll often have do.
Fortunately though, they've built an entire library of "XML string" manipulating functions that they use for this exact purpose. Following is ParseText(), one of many of their functions...
''' <summary>
''' Convert text to XML compatible text, so it can be appended
''' instead of using a dom to add a node.
''' </summary>
''' <param name="textIn"></param>
''' <returns>String</returns>
''' <remarks></remarks>
Public Shared Function ParseText(ByVal textIn As String) As String
Dim dom As XmlDocument = Nothing
Dim Node As XmlElement = Nothing
Dim Result As String
Try
dom = New XmlDocument
Node = dom.CreateElement("x")
Node.InnerText = textIn
Result = Node.OuterXml
If Result.Length() > 7 Then
Return Mid(Result, 4, Result.Length() - 7)
Else
Return ""
End If
Catch ex As Exception
Return ex.ToString
Finally
dom = Nothing
Node = Nothing
End Try
End Function