Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / Serialization / System / Runtime / Serialization / XmlSerializableServices.cs / 1 / XmlSerializableServices.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- using System; using System.Collections.Generic; using System.Reflection; using System.Text; using System.Xml; using System.Xml.Serialization; using System.Xml.Schema; using System.Xml.XPath; using System.Security; namespace System.Runtime.Serialization { public static class XmlSerializableServices { ////// Review - Static fields are marked SecurityCritical or readonly to prevent /// data from being modified or leaked to other components in appdomain. /// [SecurityRequiresReview] internal static readonly string ReadNodesMethodName = "ReadNodes"; public static XmlNode[] ReadNodes(XmlReader xmlReader) { if (xmlReader == null) throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("xmlReader"); XmlDocument doc = new XmlDocument(); ListnodeList = new List (); if (xmlReader.MoveToFirstAttribute()) { do { if (IsValidAttribute(xmlReader)) { XmlNode node = doc.ReadNode(xmlReader); if (node == null) throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(XmlObjectSerializer.CreateSerializationException(SR.GetString(SR.UnexpectedEndOfFile))); nodeList.Add(node); } } while (xmlReader.MoveToNextAttribute()); } xmlReader.MoveToElement(); if (!xmlReader.IsEmptyElement) { int startDepth = xmlReader.Depth; xmlReader.Read(); while (xmlReader.Depth > startDepth && xmlReader.NodeType != XmlNodeType.EndElement) { XmlNode node = doc.ReadNode(xmlReader); if (node == null) throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(XmlObjectSerializer.CreateSerializationException(SR.GetString(SR.UnexpectedEndOfFile))); nodeList.Add(node); } } return nodeList.ToArray(); } private static bool IsValidAttribute(XmlReader xmlReader) { return xmlReader.NamespaceURI != Globals.SerializationNamespace && xmlReader.NamespaceURI != Globals.SchemaInstanceNamespace && xmlReader.Prefix != "xmlns" && xmlReader.LocalName != "xmlns"; } internal static string WriteNodesMethodName = "WriteNodes"; public static void WriteNodes(XmlWriter xmlWriter, XmlNode[] nodes) { if (xmlWriter == null) throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("xmlWriter"); if (nodes != null) for(int i=0;i
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- WebPartConnectionsCloseVerb.cs
- RootProfilePropertySettingsCollection.cs
- DataGridRow.cs
- PageAdapter.cs
- CalendarDayButton.cs
- Throw.cs
- ProcessingInstructionAction.cs
- XslTransform.cs
- GenericPrincipal.cs
- XamlRtfConverter.cs
- GradientBrush.cs
- XmlLanguage.cs
- HtmlInputImage.cs
- CopyNamespacesAction.cs
- ObjectItemCollectionAssemblyCacheEntry.cs
- JumpList.cs
- RegexFCD.cs
- XPathException.cs
- StrongName.cs
- UserControlBuildProvider.cs
- Switch.cs
- XhtmlBasicListAdapter.cs
- TimeoutTimer.cs
- ChannelFactory.cs
- PlatformCulture.cs
- BinHexEncoder.cs
- ScriptModule.cs
- HttpCachePolicyElement.cs
- CancellationState.cs
- XmlDataSourceView.cs
- XmlNodeReader.cs
- EventRoute.cs
- StreamWithDictionary.cs
- CollectionViewGroupRoot.cs
- MouseButtonEventArgs.cs
- OracleRowUpdatingEventArgs.cs
- PageAsyncTask.cs
- CacheDependency.cs
- FileDialogPermission.cs
- WebScriptMetadataInstanceContextProvider.cs
- BamlBinaryReader.cs
- SafeRightsManagementPubHandle.cs
- CodeAccessPermission.cs
- ActivityMarkupSerializer.cs
- DataMemberConverter.cs
- QilInvokeLateBound.cs
- Int64KeyFrameCollection.cs
- RadioButton.cs
- SubMenuStyle.cs
- BamlResourceSerializer.cs
- GlyphRunDrawing.cs
- WorkflowInstanceQuery.cs
- bidPrivateBase.cs
- Signature.cs
- XmlnsPrefixAttribute.cs
- invalidudtexception.cs
- Int16Animation.cs
- InteropBitmapSource.cs
- SystemDiagnosticsSection.cs
- PrivateUnsafeNativeCompoundFileMethods.cs
- ObjRef.cs
- PolicyStatement.cs
- AffineTransform3D.cs
- TripleDES.cs
- SiteIdentityPermission.cs
- RightsManagementInformation.cs
- TraceInternal.cs
- MaskedTextProvider.cs
- RequestCacheValidator.cs
- ScrollViewer.cs
- WorkflowServiceHostFactory.cs
- DisplayInformation.cs
- SQLString.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- FilterableAttribute.cs
- Lazy.cs
- ConsoleEntryPoint.cs
- NamespaceListProperty.cs
- RectAnimationBase.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- WebPartRestoreVerb.cs
- AdCreatedEventArgs.cs
- RenamedEventArgs.cs
- ColumnWidthChangedEvent.cs
- ControlPager.cs
- FixedPage.cs
- CryptoApi.cs
- NameObjectCollectionBase.cs
- QueryStringConverter.cs
- ExcCanonicalXml.cs
- TextSearch.cs
- _DomainName.cs
- OutputCacheProfile.cs
- Debugger.cs
- ToolStripDropDownMenu.cs
- Metadata.cs
- CaseInsensitiveOrdinalStringComparer.cs
- PnrpPermission.cs
- NamespaceList.cs
- SqlNotificationEventArgs.cs