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
- WebControlsSection.cs
- ParserHooks.cs
- activationcontext.cs
- StaticFileHandler.cs
- AudioFormatConverter.cs
- StylusButtonCollection.cs
- FlagsAttribute.cs
- XmlCollation.cs
- SmiXetterAccessMap.cs
- Exceptions.cs
- X509Utils.cs
- WebBrowserProgressChangedEventHandler.cs
- MultipleViewProviderWrapper.cs
- CompositeFontFamily.cs
- BuildDependencySet.cs
- SapiGrammar.cs
- OdbcConnection.cs
- MetafileHeaderEmf.cs
- TakeOrSkipWhileQueryOperator.cs
- Margins.cs
- XmlSignatureManifest.cs
- WebPartEventArgs.cs
- PersistenceTypeAttribute.cs
- RadialGradientBrush.cs
- BindingExpressionUncommonField.cs
- XPathSelectionIterator.cs
- GroupBoxDesigner.cs
- SqlBulkCopyColumnMappingCollection.cs
- EntityCommandCompilationException.cs
- ThicknessAnimation.cs
- infer.cs
- ComplexObject.cs
- SecUtil.cs
- DocumentPageHost.cs
- Debug.cs
- ListViewSortEventArgs.cs
- BitmapPalette.cs
- BamlLocalizationDictionary.cs
- RulePatternOps.cs
- CacheAxisQuery.cs
- KerberosTicketHashIdentifierClause.cs
- SafeEventLogReadHandle.cs
- FontSourceCollection.cs
- EntityDataSourceChangedEventArgs.cs
- DoubleAnimationClockResource.cs
- PngBitmapDecoder.cs
- FixedDocumentPaginator.cs
- TextProperties.cs
- ReachDocumentReferenceCollectionSerializerAsync.cs
- VirtualPath.cs
- XslVisitor.cs
- AtomEntry.cs
- UITypeEditors.cs
- MailSettingsSection.cs
- DataGridLinkButton.cs
- MimeMapping.cs
- BoundField.cs
- SafeCryptoHandles.cs
- TemplateBindingExpressionConverter.cs
- IdentitySection.cs
- ValidationErrorCollection.cs
- ColorKeyFrameCollection.cs
- XmlCustomFormatter.cs
- ObjectComplexPropertyMapping.cs
- safelink.cs
- WebPartEditorOkVerb.cs
- SafeFileHandle.cs
- DataSourceBooleanViewSchemaConverter.cs
- SiteIdentityPermission.cs
- CodeRemoveEventStatement.cs
- FileLoadException.cs
- ProtectedConfiguration.cs
- DocumentPageViewAutomationPeer.cs
- ObjectAnimationBase.cs
- StylusLogic.cs
- CodeComment.cs
- InvokePatternIdentifiers.cs
- SqlGatherConsumedAliases.cs
- ISFClipboardData.cs
- LabelAutomationPeer.cs
- DataGridViewTextBoxColumn.cs
- XmlSignatureManifest.cs
- SqlDependencyUtils.cs
- CanonicalizationDriver.cs
- CodeBinaryOperatorExpression.cs
- HttpHandlersInstallComponent.cs
- entityreference_tresulttype.cs
- SimplePropertyEntry.cs
- SafeEventLogWriteHandle.cs
- UrlPath.cs
- XmlSerializerNamespaces.cs
- ObfuscateAssemblyAttribute.cs
- AttributeCollection.cs
- CopyNodeSetAction.cs
- DataGridViewSelectedCellCollection.cs
- DragDropManager.cs
- ProcessRequestAsyncResult.cs
- Executor.cs
- XmlDocumentFragment.cs
- CompilerLocalReference.cs