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
- Stroke.cs
- PreviewKeyDownEventArgs.cs
- ParenExpr.cs
- ExecutionEngineException.cs
- x509utils.cs
- ExpandCollapseProviderWrapper.cs
- ExpressionPrefixAttribute.cs
- PrtTicket_Public_Simple.cs
- XamlLoadErrorInfo.cs
- ReferenceConverter.cs
- HtmlInputReset.cs
- WinFormsSpinner.cs
- CurrentTimeZone.cs
- FileSystemEventArgs.cs
- ping.cs
- TemplateControl.cs
- ImageCodecInfoPrivate.cs
- IntegrationExceptionEventArgs.cs
- MenuItemCollection.cs
- ScopedKnownTypes.cs
- HGlobalSafeHandle.cs
- ThicknessConverter.cs
- Focus.cs
- BinaryObjectWriter.cs
- IERequestCache.cs
- EntitySetBase.cs
- PlanCompiler.cs
- ScrollChangedEventArgs.cs
- Base64Encoder.cs
- DataTablePropertyDescriptor.cs
- RTLAwareMessageBox.cs
- Compiler.cs
- VScrollProperties.cs
- IMembershipProvider.cs
- SortQuery.cs
- DrawingContextWalker.cs
- PipelineDeploymentState.cs
- ContentDesigner.cs
- initElementDictionary.cs
- CompiledRegexRunnerFactory.cs
- GroupBoxAutomationPeer.cs
- Matrix3DValueSerializer.cs
- SqlMethodTransformer.cs
- SpecularMaterial.cs
- ObjectConverter.cs
- ProviderConnectionPoint.cs
- EditorPart.cs
- HttpException.cs
- DataAdapter.cs
- HtmlInputPassword.cs
- LogicalTreeHelper.cs
- TimeoutException.cs
- ReflectionUtil.cs
- ProtectedConfigurationSection.cs
- EntityDataSourceContainerNameItem.cs
- DispatcherFrame.cs
- Roles.cs
- Rect.cs
- ISAPIRuntime.cs
- XmlUrlEditor.cs
- PeerConnector.cs
- StringExpressionSet.cs
- SimpleLine.cs
- Documentation.cs
- ToolStripRenderEventArgs.cs
- SplitterPanelDesigner.cs
- RtfControls.cs
- ParsedAttributeCollection.cs
- DesignerRegion.cs
- AssemblyInfo.cs
- BamlMapTable.cs
- DynamicRendererThreadManager.cs
- CngKeyCreationParameters.cs
- ViewCellSlot.cs
- FlowPosition.cs
- DnsPermission.cs
- PresentationAppDomainManager.cs
- QilStrConcat.cs
- MultiView.cs
- FixedSOMTable.cs
- ObjectStateEntryOriginalDbUpdatableDataRecord.cs
- ToolStripSplitStackLayout.cs
- DbParameterCollectionHelper.cs
- ZoneIdentityPermission.cs
- ServiceModelConfigurationSectionGroup.cs
- TableItemStyle.cs
- EdmRelationshipRoleAttribute.cs
- TrackPointCollection.cs
- StructuredTypeEmitter.cs
- GenerateTemporaryTargetAssembly.cs
- ItemCheckEvent.cs
- TextParaClient.cs
- ToolStripOverflow.cs
- PaperSize.cs
- DataServiceQueryContinuation.cs
- CurrencyManager.cs
- CircleEase.cs
- ContractInstanceProvider.cs
- SR.cs
- UInt16.cs