Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / SMDiagnostics / System / ServiceModel / Diagnostics / EncodingFallbackAwareXmlTextWriter.cs / 1305376 / EncodingFallbackAwareXmlTextWriter.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel.Diagnostics { using System.Xml; using System.Text; using System.IO; class EncodingFallbackAwareXmlTextWriter : XmlTextWriter { Encoding encoding; internal EncodingFallbackAwareXmlTextWriter(TextWriter writer) : base(writer) { this.encoding = writer.Encoding; } public override void WriteString(string value) { if (!string.IsNullOrEmpty(value) && ContainsInvalidXmlChar(value)) { byte[] blob = encoding.GetBytes(value); value = encoding.GetString(blob); } base.WriteString(value); } bool ContainsInvalidXmlChar(string value) { if (string.IsNullOrEmpty(value)) { return false; } int i = 0; int len = value.Length; while (i < len) { if (XmlConvert.IsXmlChar(value[i])) { i++; continue; } if (i + 1 < len && XmlConvert.IsXmlSurrogatePair(value[i + 1], value[i])) { i += 2; continue; } return true; } return false; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ListBoxChrome.cs
- cookie.cs
- WindowsRichEdit.cs
- PageThemeBuildProvider.cs
- ForwardPositionQuery.cs
- DateBoldEvent.cs
- HwndTarget.cs
- UnmanagedMemoryStreamWrapper.cs
- HorizontalAlignConverter.cs
- ComponentManagerBroker.cs
- GeneralTransformCollection.cs
- DataGridViewBand.cs
- XNodeNavigator.cs
- HttpResponseHeader.cs
- TrackBarRenderer.cs
- TemplateKey.cs
- TrackingProfile.cs
- Calendar.cs
- RangeValidator.cs
- DataGridViewRowEventArgs.cs
- NetworkStream.cs
- CrossContextChannel.cs
- RuleSetCollection.cs
- DrawListViewColumnHeaderEventArgs.cs
- StringAnimationBase.cs
- ExpressionPrefixAttribute.cs
- PeerContact.cs
- PersonalizationEntry.cs
- CacheAxisQuery.cs
- RemoteWebConfigurationHost.cs
- __ConsoleStream.cs
- _SSPIWrapper.cs
- CodeTypeOfExpression.cs
- FunctionGenerator.cs
- ObjectSpanRewriter.cs
- PropertyMappingExceptionEventArgs.cs
- OleServicesContext.cs
- DataBinder.cs
- FileDialog_Vista_Interop.cs
- Perspective.cs
- QuaternionRotation3D.cs
- __TransparentProxy.cs
- NavigationProgressEventArgs.cs
- InvariantComparer.cs
- WebPartTracker.cs
- JournalEntry.cs
- PingOptions.cs
- DataGridHeadersVisibilityToVisibilityConverter.cs
- XmlSerializerVersionAttribute.cs
- JsonServiceDocumentSerializer.cs
- ExpressionBuilder.cs
- UIElementParaClient.cs
- WizardStepBase.cs
- _SafeNetHandles.cs
- MessagePropertyDescriptionCollection.cs
- ResourceDescriptionAttribute.cs
- Axis.cs
- KerberosRequestorSecurityTokenAuthenticator.cs
- HtmlInputControl.cs
- AttributeCollection.cs
- Model3DCollection.cs
- MasterPageParser.cs
- Int32Converter.cs
- DependencyPropertyAttribute.cs
- PassportAuthenticationModule.cs
- TagPrefixInfo.cs
- UnsafeNativeMethods.cs
- FormConverter.cs
- OleDbConnection.cs
- EmbeddedMailObjectCollectionEditor.cs
- BoundingRectTracker.cs
- StrongNameKeyPair.cs
- ColorBlend.cs
- MULTI_QI.cs
- ItemCheckedEvent.cs
- EmptyArray.cs
- DataGridItemCollection.cs
- SqlFacetAttribute.cs
- NodeFunctions.cs
- DataStorage.cs
- TextSelectionProcessor.cs
- CodeObjectCreateExpression.cs
- ArrayList.cs
- NumericUpDownAcceleration.cs
- DocumentGridContextMenu.cs
- DefaultMemberAttribute.cs
- ApplyHostConfigurationBehavior.cs
- TextOutput.cs
- BStrWrapper.cs
- PipelineModuleStepContainer.cs
- IResourceProvider.cs
- DetailsViewCommandEventArgs.cs
- QilXmlReader.cs
- Function.cs
- ItemCheckEvent.cs
- ToolStripGrip.cs
- TextTreeTextNode.cs
- TemplateParser.cs
- coordinatorfactory.cs
- DataViewSetting.cs