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
- AccessViolationException.cs
- BuildDependencySet.cs
- VirtualPath.cs
- GPPOINT.cs
- DigitShape.cs
- DataGrid.cs
- MailWebEventProvider.cs
- Attributes.cs
- LogicalExpr.cs
- ErrorInfoXmlDocument.cs
- DefaultValueConverter.cs
- TypedElement.cs
- RenderData.cs
- ListControl.cs
- HtmlMeta.cs
- UserControl.cs
- PseudoWebRequest.cs
- XmlNamespaceDeclarationsAttribute.cs
- RowSpanVector.cs
- DecimalStorage.cs
- WebPartMenu.cs
- ExecutionContext.cs
- CompilerErrorCollection.cs
- TrackingRecordPreFilter.cs
- QilGeneratorEnv.cs
- GeneralTransform3DGroup.cs
- HierarchicalDataSourceDesigner.cs
- StrictModeSecurityHeaderElementInferenceEngine.cs
- CheckableControlBaseAdapter.cs
- ServiceNameElementCollection.cs
- SortedDictionary.cs
- PartialTrustVisibleAssemblyCollection.cs
- SqlProcedureAttribute.cs
- SafeNativeMethods.cs
- Trace.cs
- Completion.cs
- ComplexTypeEmitter.cs
- Metafile.cs
- AssociatedControlConverter.cs
- Path.cs
- IconConverter.cs
- Stackframe.cs
- Container.cs
- HScrollProperties.cs
- FileChangesMonitor.cs
- TracedNativeMethods.cs
- ToolStripCustomTypeDescriptor.cs
- TextFindEngine.cs
- OLEDB_Util.cs
- Ipv6Element.cs
- TypeProvider.cs
- CipherData.cs
- RuntimeConfigLKG.cs
- AttachmentCollection.cs
- VariableQuery.cs
- PropertyInformation.cs
- OdbcConnectionFactory.cs
- NamespaceList.cs
- FilterException.cs
- WebControlsSection.cs
- bidPrivateBase.cs
- ContextMenuStripGroup.cs
- ObjectPersistData.cs
- WSHttpBindingElement.cs
- InfoCardRSAPKCS1SignatureFormatter.cs
- DataGridItemCollection.cs
- _RegBlobWebProxyDataBuilder.cs
- SrgsDocument.cs
- PlaceHolder.cs
- MenuDesigner.cs
- RoleServiceManager.cs
- sortedlist.cs
- BitmapDownload.cs
- CodeObjectCreateExpression.cs
- MetadataItemEmitter.cs
- EventWaitHandle.cs
- DataGridColumnHeader.cs
- DataGridState.cs
- base64Transforms.cs
- ChannelDispatcher.cs
- ParameterToken.cs
- RegularExpressionValidator.cs
- SEHException.cs
- Throw.cs
- DataServiceKeyAttribute.cs
- AppliesToBehaviorDecisionTable.cs
- QueryContinueDragEventArgs.cs
- HTMLTagNameToTypeMapper.cs
- DataGridViewLinkColumn.cs
- ServicePointManagerElement.cs
- ObjectConverter.cs
- VisualTransition.cs
- AvtEvent.cs
- PointValueSerializer.cs
- StylusShape.cs
- XmlEncoding.cs
- ReceiveCompletedEventArgs.cs
- TextDecorationUnitValidation.cs
- SettingsAttributeDictionary.cs
- DataBoundControlHelper.cs