Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 46981
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 10, 20262026-05-10T16:03:03+00:00 2026-05-10T16:03:03+00:00

I was looking for a generic method in .Net to encode a string for

  • 0

I was looking for a generic method in .Net to encode a string for use in an Xml element or attribute, and was surprised when I didn’t immediately find one. So, before I go too much further, could I just be missing the built-in function?

Assuming for a moment that it really doesn’t exist, I’m putting together my own generic EncodeForXml(string data) method, and I’m thinking about the best way to do this.

The data I’m using that prompted this whole thing could contain bad characters like &, <, ", etc. It could also contains on occasion the properly escaped entities: &amp;, &lt;, and &quot;, which means just using a CDATA section may not be the best idea. That seems kinda klunky anyay; I’d much rather end up with a nice string value that can be used directly in the xml.

I’ve used a regular expression in the past to just catch bad ampersands, and I’m thinking of using it to catch them in this case as well as the first step, and then doing a simple replace for other characters.

So, could this be optimized further without making it too complex, and is there anything I’m missing? :

Function EncodeForXml(ByVal data As String) As String     Static badAmpersand As new Regex('&(?![a-zA-Z]{2,6};|#[0-9]{2,4};)')      data = badAmpersand.Replace(data, '&amp;')      return data.Replace('<', '&lt;').Replace('''', '&quot;').Replace('>', 'gt;') End Function 

Sorry for all you C# -only folks– I don’t really care which language I use, but I wanted to make the Regex static and you can’t do that in C# without declaring it outside the method, so this will be VB.Net

Finally, we’re still on .Net 2.0 where I work, but if someone could take the final product and turn it into an extension method for the string class, that’d be pretty cool too.

Update The first few responses indicate that .Net does indeed have built-in ways of doing this. But now that I’ve started, I kind of want to finish my EncodeForXml() method just for the fun of it, so I’m still looking for ideas for improvement. Notably: a more complete list of characters that should be encoded as entities (perhaps stored in a list/map), and something that gets better performance than doing a .Replace() on immutable strings in serial.

  • 1 1 Answer
  • 1 View
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-10T16:03:04+00:00Added an answer on May 10, 2026 at 4:03 pm

    System.XML handles the encoding for you, so you don’t need a method like this.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 148k
  • Answers 148k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer We're using the Address Validation API and .NET, not Delivery… May 12, 2026 at 9:23 am
  • Editorial Team
    Editorial Team added an answer Set up a configuration file in a well-known location that… May 12, 2026 at 9:23 am
  • Editorial Team
    Editorial Team added an answer That's technically feasible in some browsers, but not all, and… May 12, 2026 at 9:23 am

Related Questions

I'm trying to show someone a use for interfaces in a crazy situation they've
Not sure if this is possible or if I'm expressing correctly what I'm looking
Important: This question is getting quite long, if this is the first time you're
I'm having a spot of trouble with generics in C#. I have to store

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.