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
- HelpHtmlBuilder.cs
- WebPartUserCapability.cs
- TreeViewAutomationPeer.cs
- Debug.cs
- AnnotationAdorner.cs
- DetailsViewDeletedEventArgs.cs
- Point3DAnimation.cs
- ItemCollection.cs
- CalendarAutoFormat.cs
- CacheSection.cs
- SchemaTypeEmitter.cs
- ScalarOps.cs
- FileDialog_Vista_Interop.cs
- dataSvcMapFileLoader.cs
- HostProtectionException.cs
- VariantWrapper.cs
- WebPartMinimizeVerb.cs
- TextBoxLine.cs
- PrimitiveXmlSerializers.cs
- RuleValidation.cs
- SaveWorkflowCommand.cs
- GifBitmapDecoder.cs
- Receive.cs
- ProxyHelper.cs
- UidManager.cs
- DataFormats.cs
- TriggerCollection.cs
- PageSettings.cs
- GenericXmlSecurityToken.cs
- ConnectionStringSettingsCollection.cs
- basevalidator.cs
- VirtualPath.cs
- BoundsDrawingContextWalker.cs
- DataServiceContext.cs
- DefaultExpressionVisitor.cs
- PointKeyFrameCollection.cs
- PagedDataSource.cs
- LockedHandleGlyph.cs
- CodeDomLoader.cs
- BaseCollection.cs
- XPathPatternBuilder.cs
- OleDbPermission.cs
- SchemaInfo.cs
- CommonObjectSecurity.cs
- SecurityContext.cs
- TdsEnums.cs
- RtfFormatStack.cs
- _NetRes.cs
- Translator.cs
- ShadowGlyph.cs
- EncryptedType.cs
- TextCompositionManager.cs
- CompModSwitches.cs
- DesignerDataTableBase.cs
- RowVisual.cs
- CollectionViewGroupInternal.cs
- RouteItem.cs
- TrustDriver.cs
- JapaneseCalendar.cs
- InternalsVisibleToAttribute.cs
- SiteMapHierarchicalDataSourceView.cs
- ActiveDocumentEvent.cs
- basecomparevalidator.cs
- PersonalizationState.cs
- MessageContractImporter.cs
- TransformValueSerializer.cs
- DataServiceEntityAttribute.cs
- ComEventsHelper.cs
- DeflateStream.cs
- Section.cs
- RegisteredHiddenField.cs
- _ListenerRequestStream.cs
- CompilerError.cs
- VideoDrawing.cs
- DetailsViewPagerRow.cs
- SessionParameter.cs
- WindowsToolbarAsMenu.cs
- NegationPusher.cs
- TaskScheduler.cs
- sitestring.cs
- QueueProcessor.cs
- TextDecorationCollection.cs
- JavaScriptSerializer.cs
- DecimalAnimation.cs
- XmlSignificantWhitespace.cs
- ControlIdConverter.cs
- CompiledQuery.cs
- StringCollection.cs
- AppLevelCompilationSectionCache.cs
- HttpRequestCacheValidator.cs
- DisplayMemberTemplateSelector.cs
- ProcessThread.cs
- XmlSchemaValidator.cs
- ColorAnimation.cs
- DataBoundLiteralControl.cs
- MediaTimeline.cs
- XmlSchemaSet.cs
- SmiRecordBuffer.cs
- WindowAutomationPeer.cs
- FlowPosition.cs