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
- XhtmlBasicTextBoxAdapter.cs
- WebZoneDesigner.cs
- MainMenu.cs
- _RequestCacheProtocol.cs
- NetworkAddressChange.cs
- AnnotationMap.cs
- InvalidPropValue.cs
- DataGridViewComboBoxColumn.cs
- TraceProvider.cs
- WindowsTreeView.cs
- LabelEditEvent.cs
- MetaType.cs
- DataGridViewLinkColumn.cs
- ConnectionsZoneDesigner.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- HttpRequestWrapper.cs
- TraceHwndHost.cs
- SmtpClient.cs
- InfoCardTraceRecord.cs
- DataGridViewColumnEventArgs.cs
- HtmlButton.cs
- AutoFocusStyle.xaml.cs
- ISAPIRuntime.cs
- followingquery.cs
- Schema.cs
- Speller.cs
- DSASignatureFormatter.cs
- KeyPressEvent.cs
- SQLRoleProvider.cs
- IPAddress.cs
- BindingNavigator.cs
- XmlCharType.cs
- PackWebResponse.cs
- FieldDescriptor.cs
- PropertyRef.cs
- DataGridComboBoxColumn.cs
- ActionFrame.cs
- SafeNativeMethods.cs
- DesignTimeHTMLTextWriter.cs
- uribuilder.cs
- LinqDataSourceDeleteEventArgs.cs
- BuildProvider.cs
- XmlSerializerVersionAttribute.cs
- ForceCopyBuildProvider.cs
- ConfigXmlAttribute.cs
- QilCloneVisitor.cs
- TextFormatterImp.cs
- WorkflowInstanceProxy.cs
- HttpHeaderCollection.cs
- ValidationEventArgs.cs
- InkCanvas.cs
- ThicknessAnimation.cs
- Line.cs
- InputManager.cs
- DataTableCollection.cs
- PaperSource.cs
- WindowsBrush.cs
- HTMLTagNameToTypeMapper.cs
- SamlDoNotCacheCondition.cs
- ImageMapEventArgs.cs
- DataGridColumnStyleMappingNameEditor.cs
- XPathDescendantIterator.cs
- SmtpReplyReaderFactory.cs
- InputBuffer.cs
- RadioButtonList.cs
- PhysicalAddress.cs
- LinkLabel.cs
- XPathBuilder.cs
- PipelineModuleStepContainer.cs
- NotImplementedException.cs
- ImportException.cs
- XmlDesigner.cs
- XamlReaderHelper.cs
- WorkflowOwnerAsyncResult.cs
- ConfigurationErrorsException.cs
- PassportAuthenticationModule.cs
- SqlInternalConnectionTds.cs
- SamlAudienceRestrictionCondition.cs
- DataGridViewBindingCompleteEventArgs.cs
- PackageRelationshipSelector.cs
- Persist.cs
- NavigationWindowAutomationPeer.cs
- UnsettableComboBox.cs
- SslStream.cs
- TimerElapsedEvenArgs.cs
- FrameworkObject.cs
- _HelperAsyncResults.cs
- WebPartCollection.cs
- SqlDataSourceStatusEventArgs.cs
- cryptoapiTransform.cs
- ColorBuilder.cs
- GridViewRow.cs
- TreeNodeMouseHoverEvent.cs
- ActiveXHelper.cs
- RemoteCryptoSignHashRequest.cs
- VisualCollection.cs
- TextEditorSelection.cs
- WebSysDisplayNameAttribute.cs
- Binding.cs
- Parameter.cs