Code:
/ 4.0 / 4.0 / untmp / 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();
List 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
- CheckBoxPopupAdapter.cs
- AtomContentProperty.cs
- ZipIOBlockManager.cs
- DynamicPhysicalDiscoSearcher.cs
- DataGridColumn.cs
- PersonalizationEntry.cs
- ContextMenuAutomationPeer.cs
- HostSecurityManager.cs
- ConsumerConnectionPoint.cs
- CanonicalXml.cs
- SecurityCriticalDataForSet.cs
- TemplateApplicationHelper.cs
- ProviderSettingsCollection.cs
- Ops.cs
- _HeaderInfo.cs
- CfgSemanticTag.cs
- DBConnection.cs
- LayoutUtils.cs
- LinkTarget.cs
- CommandLibraryHelper.cs
- KeyGestureConverter.cs
- SemaphoreSlim.cs
- Trigger.cs
- TdsParserSessionPool.cs
- ServiceBehaviorAttribute.cs
- TemplateControlParser.cs
- MediaContextNotificationWindow.cs
- CorrelationResolver.cs
- DropDownButton.cs
- SettingsProviderCollection.cs
- BitmapEffectGroup.cs
- SynchronousReceiveBehavior.cs
- TraceHandlerErrorFormatter.cs
- SmtpNtlmAuthenticationModule.cs
- CellConstant.cs
- EdmEntityTypeAttribute.cs
- ResourcePart.cs
- CancellationToken.cs
- ApplicationProxyInternal.cs
- UmAlQuraCalendar.cs
- TextEncodedRawTextWriter.cs
- IRCollection.cs
- CompletedAsyncResult.cs
- DbConnectionPoolOptions.cs
- ZipIOExtraFieldElement.cs
- AppDomainProtocolHandler.cs
- XmlSchemaInferenceException.cs
- TextPatternIdentifiers.cs
- CharUnicodeInfo.cs
- SplineKeyFrames.cs
- WebBrowserEvent.cs
- VisualStyleElement.cs
- DummyDataSource.cs
- VisualBasicSettingsHandler.cs
- CacheDependency.cs
- DataFormats.cs
- TableRowsCollectionEditor.cs
- ConnectionProviderAttribute.cs
- SQLChars.cs
- IMembershipProvider.cs
- AddInContractAttribute.cs
- ReachSerializerAsync.cs
- DisableDpiAwarenessAttribute.cs
- CommonGetThemePartSize.cs
- QueryContinueDragEventArgs.cs
- mediaeventshelper.cs
- SuppressIldasmAttribute.cs
- HighContrastHelper.cs
- OrderedDictionary.cs
- EntryPointNotFoundException.cs
- HtmlTitle.cs
- SystemWebExtensionsSectionGroup.cs
- ColumnCollection.cs
- WebConfigurationHost.cs
- Attributes.cs
- SchemaNamespaceManager.cs
- CompensationExtension.cs
- SetStateDesigner.cs
- SimpleWebHandlerParser.cs
- LineServicesCallbacks.cs
- WebRequestModuleElement.cs
- xdrvalidator.cs
- XPathExpr.cs
- SqlLiftIndependentRowExpressions.cs
- ArrangedElementCollection.cs
- Substitution.cs
- ViewGenResults.cs
- DiagnosticsConfiguration.cs
- XmlCustomFormatter.cs
- ServerValidateEventArgs.cs
- TextElementCollection.cs
- UpdateRecord.cs
- VerbConverter.cs
- printdlgexmarshaler.cs
- ArgumentException.cs
- MDIClient.cs
- ActivityCodeDomSerializationManager.cs
- GridViewRowEventArgs.cs
- BlurEffect.cs
- IPGlobalProperties.cs