Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / Serialization / System / Runtime / Serialization / XmlSerializableServices.cs / 1305376 / XmlSerializableServices.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.Runtime.Serialization { using System.Collections.Generic; using System.Xml; using System.Xml.Schema; public static class XmlSerializableServices { [Fx.Tag.SecurityNote(Miscellaneous = "RequiresReview - Static fields are marked SecurityCritical or readonly to prevent" + " data from being modified or leaked to other components in appdomain.")] 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 nodeList = 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
- SafeThreadHandle.cs
- TableDesigner.cs
- SoapAttributes.cs
- HotCommands.cs
- StreamGeometryContext.cs
- TranslateTransform.cs
- VisualTreeUtils.cs
- EntityDataSourceDataSelectionPanel.cs
- FontNamesConverter.cs
- ResizeGrip.cs
- UnmanagedBitmapWrapper.cs
- TextBounds.cs
- TraceHwndHost.cs
- DataColumn.cs
- ValidatedControlConverter.cs
- Highlights.cs
- AccessControlEntry.cs
- Setter.cs
- KeyGestureConverter.cs
- ToolStrip.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- HttpModuleAction.cs
- ToolStripHighContrastRenderer.cs
- Timeline.cs
- CallbackHandler.cs
- ApplicationDirectory.cs
- RegexRunner.cs
- LicenseException.cs
- GenericEnumConverter.cs
- ProxyDataContractResolver.cs
- DynamicResourceExtension.cs
- WindowsStatusBar.cs
- HtmlContainerControl.cs
- DesignerTransaction.cs
- DTCTransactionManager.cs
- ValidationPropertyAttribute.cs
- EncryptedPackageFilter.cs
- AuthenticationModuleElement.cs
- Sequence.cs
- EncryptedKey.cs
- XmlILIndex.cs
- EdmScalarPropertyAttribute.cs
- UriSectionData.cs
- DoubleStorage.cs
- HtmlLink.cs
- AssociationTypeEmitter.cs
- DataGridViewRowConverter.cs
- StackSpiller.Bindings.cs
- MetadataPropertyAttribute.cs
- DataControlFieldCell.cs
- SimplePropertyEntry.cs
- Help.cs
- RawStylusSystemGestureInputReport.cs
- ChtmlTextWriter.cs
- LinkLabel.cs
- TreeBuilderXamlTranslator.cs
- linebase.cs
- XmlAttributeCollection.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- ClientTarget.cs
- WebPageTraceListener.cs
- SHA1.cs
- CacheEntry.cs
- LicFileLicenseProvider.cs
- AmbientProperties.cs
- ChameleonKey.cs
- ThumbAutomationPeer.cs
- ArrowControl.xaml.cs
- RepeatBehavior.cs
- ViewCellSlot.cs
- SourceFileInfo.cs
- CultureInfoConverter.cs
- SessionStateContainer.cs
- AudioStateChangedEventArgs.cs
- SoapException.cs
- WindowsRichEdit.cs
- XmlWhitespace.cs
- CompoundFileStreamReference.cs
- ColumnWidthChangingEvent.cs
- DisableDpiAwarenessAttribute.cs
- EdmValidator.cs
- WebConvert.cs
- SystemResourceKey.cs
- WebPartEditorApplyVerb.cs
- SqlLiftIndependentRowExpressions.cs
- DeploymentSection.cs
- SmiEventSink_Default.cs
- WebPartEditVerb.cs
- InputElement.cs
- SubMenuStyleCollection.cs
- ReadOnlyCollectionBase.cs
- ApplicationManager.cs
- PropertyCollection.cs
- IntegerCollectionEditor.cs
- PolicyManager.cs
- UdpContractFilterBehavior.cs
- KnownColorTable.cs
- PropertyKey.cs
- HtmlSelect.cs
- PeerCustomResolverBindingElement.cs