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
- PlaceHolder.cs
- XmlEntityReference.cs
- IdentitySection.cs
- MultiViewDesigner.cs
- HostedHttpRequestAsyncResult.cs
- MsmqInputChannel.cs
- UpnEndpointIdentity.cs
- FontDifferentiator.cs
- TokenBasedSet.cs
- XmlNodeChangedEventArgs.cs
- EntityDataSourceEntityTypeFilterConverter.cs
- ExtendedPropertyDescriptor.cs
- UrlMapping.cs
- AvTraceFormat.cs
- PeerNameResolver.cs
- DynamicActivityXamlReader.cs
- NavigationPropertyEmitter.cs
- DbConnectionFactory.cs
- EventLogStatus.cs
- HttpResponseInternalWrapper.cs
- RequestUriProcessor.cs
- TextLineResult.cs
- TypeElement.cs
- CoTaskMemSafeHandle.cs
- TextElementEnumerator.cs
- RuntimeWrappedException.cs
- RayMeshGeometry3DHitTestResult.cs
- FontCollection.cs
- ReflectionUtil.cs
- BaseParser.cs
- Rotation3DAnimationUsingKeyFrames.cs
- ByteStack.cs
- Form.cs
- FormViewInsertedEventArgs.cs
- UpdatePanelControlTrigger.cs
- SHA384.cs
- BufferModeSettings.cs
- WebPartCatalogAddVerb.cs
- SplineKeyFrames.cs
- IdentitySection.cs
- ResXResourceSet.cs
- NopReturnReader.cs
- MasterPageCodeDomTreeGenerator.cs
- TabControlCancelEvent.cs
- ApplicationTrust.cs
- FontClient.cs
- AudioFormatConverter.cs
- OperatingSystemVersionCheck.cs
- CodeIdentifiers.cs
- IPGlobalProperties.cs
- OdbcConnectionStringbuilder.cs
- PartitionResolver.cs
- StrokeNode.cs
- COM2ExtendedUITypeEditor.cs
- RSAPKCS1SignatureDeformatter.cs
- GrowingArray.cs
- unsafenativemethodstextservices.cs
- DrawingContextWalker.cs
- EventTrigger.cs
- Model3DGroup.cs
- Effect.cs
- ErrorLog.cs
- DataGridBeginningEditEventArgs.cs
- UxThemeWrapper.cs
- SystemPens.cs
- ProtocolImporter.cs
- _ShellExpression.cs
- TextTreeRootNode.cs
- DbProviderManifest.cs
- Brushes.cs
- ImageCodecInfoPrivate.cs
- ColorKeyFrameCollection.cs
- GradientStop.cs
- OpenTypeLayout.cs
- NaturalLanguageHyphenator.cs
- PrintPageEvent.cs
- Int32CollectionValueSerializer.cs
- HttpInputStream.cs
- VarRemapper.cs
- WebPartChrome.cs
- CodePageEncoding.cs
- TabPage.cs
- InnerItemCollectionView.cs
- StatusBarPanel.cs
- Rijndael.cs
- prompt.cs
- SqlGenerator.cs
- ExternalFile.cs
- Int64Converter.cs
- ViewGenResults.cs
- FlagsAttribute.cs
- ListSourceHelper.cs
- SystemEvents.cs
- Profiler.cs
- HashSetEqualityComparer.cs
- CreateUserWizardStep.cs
- TableCellCollection.cs
- NavigationPropertyEmitter.cs
- Stylesheet.cs
- XmlDataDocument.cs