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
- MediaContext.cs
- XmlSchemaComplexContentExtension.cs
- DataSpaceManager.cs
- WebPartConnectionsDisconnectVerb.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- EventArgs.cs
- XmlChoiceIdentifierAttribute.cs
- XmlTextReader.cs
- TopClause.cs
- CodeNamespaceImport.cs
- NamespaceCollection.cs
- PEFileEvidenceFactory.cs
- NumberAction.cs
- Point4DConverter.cs
- TagPrefixAttribute.cs
- OptimalBreakSession.cs
- MenuItemCollection.cs
- AtomServiceDocumentSerializer.cs
- SQLDecimalStorage.cs
- TreeNodeMouseHoverEvent.cs
- _OSSOCK.cs
- XpsFontSerializationService.cs
- PriorityRange.cs
- EncoderParameters.cs
- TempFiles.cs
- EntityDataSourceSelectingEventArgs.cs
- OleDbPropertySetGuid.cs
- TextEditorDragDrop.cs
- HandlerFactoryWrapper.cs
- ColumnMap.cs
- GuidelineSet.cs
- StyleHelper.cs
- CacheVirtualItemsEvent.cs
- InternalConfigSettingsFactory.cs
- EdmPropertyAttribute.cs
- DomainConstraint.cs
- SequentialUshortCollection.cs
- SqlConnectionPoolGroupProviderInfo.cs
- PrefixQName.cs
- ProviderCollection.cs
- AnnotationResourceCollection.cs
- HttpHeaderCollection.cs
- DBAsyncResult.cs
- QueryContinueDragEventArgs.cs
- ContentPresenter.cs
- CollectionMarkupSerializer.cs
- EditorBrowsableAttribute.cs
- DrawingAttributes.cs
- PageClientProxyGenerator.cs
- FileCodeGroup.cs
- UInt64Converter.cs
- PbrsForward.cs
- Expressions.cs
- EntityReference.cs
- ObjectCloneHelper.cs
- XamlVector3DCollectionSerializer.cs
- SerTrace.cs
- XMLUtil.cs
- RowsCopiedEventArgs.cs
- NextPreviousPagerField.cs
- DataGridViewRow.cs
- Decimal.cs
- OptimalTextSource.cs
- XmlDesigner.cs
- StringAnimationUsingKeyFrames.cs
- DataObjectAttribute.cs
- FontWeight.cs
- SystemWebCachingSectionGroup.cs
- MeshGeometry3D.cs
- SessionIDManager.cs
- PointUtil.cs
- CalendarTable.cs
- VariableAction.cs
- SignHashRequest.cs
- DesignTimeVisibleAttribute.cs
- StyleTypedPropertyAttribute.cs
- KeyPressEvent.cs
- InvokePatternIdentifiers.cs
- StringFreezingAttribute.cs
- GenericWebPart.cs
- WorkflowIdleBehavior.cs
- Slider.cs
- Faults.cs
- HttpPostClientProtocol.cs
- ICspAsymmetricAlgorithm.cs
- List.cs
- ADMembershipUser.cs
- ListBase.cs
- DesignerForm.cs
- WindowsListViewItemStartMenu.cs
- ToolStripContentPanelRenderEventArgs.cs
- IPAddress.cs
- RuntimeCompatibilityAttribute.cs
- FileDialog.cs
- DataRecordObjectView.cs
- ProfessionalColors.cs
- PaintValueEventArgs.cs
- ErrorFormatter.cs
- FileLogRecord.cs
- FlowLayoutPanel.cs