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
- RC2CryptoServiceProvider.cs
- CacheForPrimitiveTypes.cs
- NavigationCommands.cs
- TypeGeneratedEventArgs.cs
- PasswordTextContainer.cs
- InvalidFilterCriteriaException.cs
- Int16.cs
- NotifyParentPropertyAttribute.cs
- SymbolMethod.cs
- Stream.cs
- InputLanguage.cs
- TextStore.cs
- jithelpers.cs
- FastEncoder.cs
- IHttpResponseInternal.cs
- SQLGuidStorage.cs
- WinHttpWebProxyFinder.cs
- LocalBuilder.cs
- FileChangesMonitor.cs
- FormsAuthenticationUserCollection.cs
- AttachInfo.cs
- AdCreatedEventArgs.cs
- FigureParaClient.cs
- Soap.cs
- ZipIOModeEnforcingStream.cs
- wgx_sdk_version.cs
- Menu.cs
- MessageBox.cs
- ApplicationManager.cs
- GraphicsContainer.cs
- PageBuildProvider.cs
- HandledEventArgs.cs
- XPathNavigatorReader.cs
- AtomServiceDocumentSerializer.cs
- ButtonField.cs
- InlineCollection.cs
- DataGrid.cs
- AutomationElementCollection.cs
- Compiler.cs
- SystemDiagnosticsSection.cs
- Token.cs
- PathTooLongException.cs
- DbException.cs
- UrlMapping.cs
- DbModificationClause.cs
- InnerItemCollectionView.cs
- Int32Animation.cs
- ServiceMemoryGates.cs
- DPCustomTypeDescriptor.cs
- RuntimeArgumentHandle.cs
- FormsAuthenticationUser.cs
- TextOptionsInternal.cs
- RuleSettingsCollection.cs
- CopyOnWriteList.cs
- HeaderedItemsControl.cs
- TextDecorations.cs
- UriParserTemplates.cs
- Int16AnimationUsingKeyFrames.cs
- CssTextWriter.cs
- HtmlLink.cs
- Action.cs
- WebPartAuthorizationEventArgs.cs
- ReadWriteControlDesigner.cs
- SystemColors.cs
- PtsCache.cs
- AccessText.cs
- DefaultAsyncDataDispatcher.cs
- ContextMenuAutomationPeer.cs
- autovalidator.cs
- OpCellTreeNode.cs
- HandlerBase.cs
- PenContext.cs
- CacheForPrimitiveTypes.cs
- DataSourceSelectArguments.cs
- OrderByQueryOptionExpression.cs
- XmlTypeAttribute.cs
- WebPartsSection.cs
- TransactionInformation.cs
- Context.cs
- XmlAttributeCollection.cs
- CookieProtection.cs
- ParenthesizePropertyNameAttribute.cs
- LambdaCompiler.Logical.cs
- WindowsGraphics2.cs
- Wrapper.cs
- BindingMemberInfo.cs
- Group.cs
- ActivityInstanceReference.cs
- CacheDependency.cs
- _SecureChannel.cs
- SqlCachedBuffer.cs
- UnauthorizedAccessException.cs
- TextMetrics.cs
- ControlCollection.cs
- OdbcDataAdapter.cs
- TypeInitializationException.cs
- CallbackHandler.cs
- CorrelationActionMessageFilter.cs
- SafeFileMappingHandle.cs
- StdValidatorsAndConverters.cs