Are there methods for encoding and decoding XML in .NET? I can't seem to find them and am wondering why they aren't there and what to use instead?
I need to encode an XML document and pass it through to a string parameter on a web service. It then needs to be decoded at the other end.
Actually with the nice objects in
System.Xml.Linq
you need not worry.What I mean is you will not get a runtime exception if you run this code.
The value of the element will be a text node with
<Node />
.If you are referring to encoding/decoding of XML names, there is XmlConvert.EncodeName and DecodeName.
Or are you talking about specifying the encoding/decoding of the whole XML document using XmlDeclaration or XDeclaration? (I thought this took care of encoding for us)
If you're passing XML as a string parameter (very bad web service design, BTW), then you don't have to do anything. It's up to the web service to do any encoding that may be necessary. Just use
XDocument.ToString()
or whatever and pass the result to the web service.It's not true!
does work with lesser and greater than signs but not with special chars like NUL or other low ASCII characters (it does not crash at the time adding the string but when calling ToString() or writing it somewhere).
If readability is not that important, use this method:
to escape the values before you assign them.
If readability is important, implement all constants from http://de.selfhtml.org/html/referenz/zeichen.htm.