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
- WizardSideBarListControlItem.cs
- WCFModelStrings.Designer.cs
- AspNetSynchronizationContext.cs
- DBAsyncResult.cs
- XmlHierarchyData.cs
- DictionaryTraceRecord.cs
- DrawingCollection.cs
- ImpersonationContext.cs
- SortDescriptionCollection.cs
- Substitution.cs
- ArraySegment.cs
- IdentifierService.cs
- XmlUTF8TextReader.cs
- BitmapInitialize.cs
- XmlSchemaSimpleContent.cs
- GridItemPatternIdentifiers.cs
- ThreadExceptionEvent.cs
- SystemResourceKey.cs
- NonBatchDirectoryCompiler.cs
- EFAssociationProvider.cs
- XslUrlEditor.cs
- SafeBitVector32.cs
- PartialList.cs
- XmlToDatasetMap.cs
- NativeStructs.cs
- TransformerInfo.cs
- TypeExtensionSerializer.cs
- StaticFileHandler.cs
- HtmlProps.cs
- TrackingMemoryStream.cs
- DynamicQueryableWrapper.cs
- DbInsertCommandTree.cs
- DataControlLinkButton.cs
- ApplicationDirectory.cs
- AdapterDictionary.cs
- PasswordValidationException.cs
- XmlDataDocument.cs
- XmlSchemaCompilationSettings.cs
- UnsafeNativeMethods.cs
- DesignTableCollection.cs
- DesignerDataSourceView.cs
- FileLoadException.cs
- PopupRoot.cs
- CurrentTimeZone.cs
- GACMembershipCondition.cs
- DetailsViewRow.cs
- XmlDownloadManager.cs
- DataGridViewButtonCell.cs
- StdValidatorsAndConverters.cs
- AxisAngleRotation3D.cs
- InternalsVisibleToAttribute.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- GradientStop.cs
- CursorConverter.cs
- IERequestCache.cs
- ScriptManagerProxy.cs
- RuntimeEnvironment.cs
- OutOfProcStateClientManager.cs
- FrameworkRichTextComposition.cs
- XmlExceptionHelper.cs
- XmlEncodedRawTextWriter.cs
- ComponentDispatcherThread.cs
- FirstMatchCodeGroup.cs
- UriTemplateDispatchFormatter.cs
- FieldDescriptor.cs
- ExtensionQuery.cs
- DiscoveryDocumentSearchPattern.cs
- CodeMemberField.cs
- Highlights.cs
- ArrangedElementCollection.cs
- BoundsDrawingContextWalker.cs
- TemplateControl.cs
- Message.cs
- OletxTransactionHeader.cs
- DrawingImage.cs
- ContractNamespaceAttribute.cs
- RowUpdatedEventArgs.cs
- MultipartIdentifier.cs
- activationcontext.cs
- CompositeFontFamily.cs
- ViewRendering.cs
- SymbolTable.cs
- QueryExpr.cs
- FamilyMap.cs
- FunctionNode.cs
- PersonalizationEntry.cs
- ArrangedElement.cs
- UIElementParagraph.cs
- LocalizableAttribute.cs
- StatusBarDrawItemEvent.cs
- XmlSchemas.cs
- ProfileEventArgs.cs
- PeerApplication.cs
- Color.cs
- WebBrowserHelper.cs
- DataPagerField.cs
- SqlEnums.cs
- ContextMenu.cs
- PingOptions.cs
- IPEndPoint.cs