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
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- OperationDescriptionCollection.cs
- SoapFaultCodes.cs
- FormView.cs
- KnownTypeHelper.cs
- WebWorkflowRole.cs
- DataReceivedEventArgs.cs
- TextOutput.cs
- CollectionMarkupSerializer.cs
- SqlProviderUtilities.cs
- HelpExampleGenerator.cs
- DBCommandBuilder.cs
- util.cs
- SelectionUIHandler.cs
- OleDbErrorCollection.cs
- OdbcError.cs
- SettingsPropertyValue.cs
- CurrentTimeZone.cs
- ViewSimplifier.cs
- ErrorInfoXmlDocument.cs
- Rotation3DKeyFrameCollection.cs
- FormViewInsertEventArgs.cs
- ConcurrentDictionary.cs
- ConstraintEnumerator.cs
- WindowInteropHelper.cs
- StoryFragments.cs
- _FtpDataStream.cs
- HtmlTableCellCollection.cs
- CompatibleIComparer.cs
- DataControlField.cs
- WebServiceResponse.cs
- Dump.cs
- ButtonColumn.cs
- StateItem.cs
- FlowLayoutSettings.cs
- ConnectionOrientedTransportChannelFactory.cs
- OperationResponse.cs
- Comparer.cs
- DataServiceQueryException.cs
- DefaultPropertyAttribute.cs
- TextClipboardData.cs
- ActivityLocationReferenceEnvironment.cs
- ConstraintManager.cs
- HitTestWithGeometryDrawingContextWalker.cs
- XsltArgumentList.cs
- OracleRowUpdatedEventArgs.cs
- SafeFindHandle.cs
- RelOps.cs
- ListenerConnectionDemuxer.cs
- LayoutEvent.cs
- RadioButtonFlatAdapter.cs
- OdbcErrorCollection.cs
- behaviorssection.cs
- RouteItem.cs
- ActiveXHost.cs
- CodeCastExpression.cs
- Application.cs
- TdsValueSetter.cs
- SqlBulkCopyColumnMapping.cs
- OleDbErrorCollection.cs
- GrammarBuilderBase.cs
- StringStorage.cs
- DataSourceHelper.cs
- HttpCookiesSection.cs
- ZoomingMessageFilter.cs
- EFAssociationProvider.cs
- LinqDataSourceContextEventArgs.cs
- EntityStoreSchemaGenerator.cs
- HtmlInputReset.cs
- FontFamily.cs
- NameValueCollection.cs
- AnimatedTypeHelpers.cs
- TraceEventCache.cs
- ReturnEventArgs.cs
- TracedNativeMethods.cs
- PropertyValueUIItem.cs
- Environment.cs
- ScriptManager.cs
- DataView.cs
- Regex.cs
- Compiler.cs
- DataSourceGeneratorException.cs
- NoResizeSelectionBorderGlyph.cs
- TextEncodedRawTextWriter.cs
- RepeatInfo.cs
- RelationshipEndCollection.cs
- StateRuntime.cs
- SynchronousChannel.cs
- PrimitiveXmlSerializers.cs
- TransactionValidationBehavior.cs
- HostedHttpRequestAsyncResult.cs
- BrushConverter.cs
- TableDesigner.cs
- FontFamily.cs
- SplineKeyFrames.cs
- SocketPermission.cs
- ObjectView.cs
- KnownBoxes.cs
- COM2PictureConverter.cs
- AxHost.cs
- FilterQuery.cs