Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Sys / System / Configuration / ConfigXmlDocument.cs / 1305376 / ConfigXmlDocument.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Configuration
{
using System.Configuration.Internal;
using System.IO;
using System.Xml;
using System.Security.Permissions;
// ConfigXmlDocument - the default Xml Document doesn't track line numbers, and line
// numbers are necessary to display source on config errors.
// These classes wrap corresponding System.Xml types and also carry
// the necessary information for reporting filename / line numbers.
// Note: these classes will go away if webdata ever decides to incorporate line numbers
// into the default XML classes. This class could also go away if webdata brings back
// the UserData property to hang any info off of any node.
[PermissionSet(SecurityAction.LinkDemand, Name="FullTrust")]
public sealed class ConfigXmlDocument : XmlDocument, IConfigErrorInfo {
XmlTextReader _reader;
int _lineOffset;
string _filename;
int IConfigErrorInfo.LineNumber {
get {
if (_reader == null) {
return 0;
}
if (_lineOffset > 0) {
return _reader.LineNumber + _lineOffset - 1;
}
return _reader.LineNumber;
}
}
public int LineNumber { get { return ((IConfigErrorInfo)this).LineNumber; } }
public string Filename {
get { return ConfigurationException.SafeFilename(_filename); }
}
string IConfigErrorInfo.Filename {
get { return _filename; }
}
public override void Load(string filename) {
_filename = filename;
try {
_reader = new XmlTextReader(filename);
_reader.XmlResolver = null;
base.Load(_reader);
}
finally {
if (_reader != null) {
_reader.Close();
_reader = null;
}
}
}
#if UNUSED_CODE
internal XmlNode ReadConfigNode(string filename, XmlTextReader sourceReader) {
_filename = filename;
_reader = sourceReader; // pull line numbers from original reader
try {
return base.ReadNode(sourceReader);
}
finally {
_reader = null;
}
}
#endif
public void LoadSingleElement(string filename, XmlTextReader sourceReader) {
_filename = filename;
_lineOffset = sourceReader.LineNumber;
string outerXml = sourceReader.ReadOuterXml();
try {
_reader = new XmlTextReader(new StringReader(outerXml), sourceReader.NameTable);
base.Load(_reader);
}
finally {
if (_reader != null) {
_reader.Close();
_reader = null;
}
}
}
public override XmlAttribute CreateAttribute( string prefix, string localName, string namespaceUri ) {
return new ConfigXmlAttribute( _filename, LineNumber, prefix, localName, namespaceUri, this );
}
public override XmlElement CreateElement( string prefix, string localName, string namespaceUri) {
return new ConfigXmlElement( _filename, LineNumber, prefix, localName, namespaceUri, this );
}
public override XmlText CreateTextNode(String text) {
return new ConfigXmlText( _filename, LineNumber, text, this );
}
public override XmlCDataSection CreateCDataSection(String data) {
return new ConfigXmlCDataSection( _filename, LineNumber, data, this );
}
public override XmlComment CreateComment(String data) {
return new ConfigXmlComment( _filename, LineNumber, data, this );
}
public override XmlSignificantWhitespace CreateSignificantWhitespace(String data) {
return new ConfigXmlSignificantWhitespace( _filename, LineNumber, data, this );
}
public override XmlWhitespace CreateWhitespace(String data) {
return new ConfigXmlWhitespace( _filename, LineNumber, data, this );
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ErrorRuntimeConfig.cs
- StorageAssociationSetMapping.cs
- BitmapEffectDrawingContent.cs
- TabPanel.cs
- RegexGroup.cs
- Task.cs
- CroppedBitmap.cs
- TypeBrowser.xaml.cs
- BlockExpression.cs
- DeclarativeConditionsCollection.cs
- FileAccessException.cs
- SafeArchiveContext.cs
- ChtmlCalendarAdapter.cs
- ObjectHandle.cs
- GcSettings.cs
- Message.cs
- HashMembershipCondition.cs
- SectionInformation.cs
- MessageBuilder.cs
- HtmlTableCellCollection.cs
- PtsPage.cs
- CommandManager.cs
- HtmlShimManager.cs
- DeclaredTypeValidator.cs
- WebPartZoneCollection.cs
- WebReference.cs
- Control.cs
- SqlDesignerDataSourceView.cs
- StructuredProperty.cs
- PrimitiveSchema.cs
- ListChangedEventArgs.cs
- ClientBuildManagerCallback.cs
- UnsafeNativeMethods.cs
- ButtonStandardAdapter.cs
- HtmlGenericControl.cs
- InternalMappingException.cs
- TraceLog.cs
- CommonObjectSecurity.cs
- DataGridColumnCollection.cs
- SetStateDesigner.cs
- AutomationElement.cs
- Binding.cs
- XmlSerializerImportOptions.cs
- ICspAsymmetricAlgorithm.cs
- EntityDataSourceUtil.cs
- TemplatePropertyEntry.cs
- XslNumber.cs
- FixedPosition.cs
- IntSecurity.cs
- PersonalizationProviderCollection.cs
- ImageButton.cs
- VariantWrapper.cs
- PositiveTimeSpanValidatorAttribute.cs
- SqlPersonalizationProvider.cs
- AggregationMinMaxHelpers.cs
- ListBase.cs
- DataServiceQueryContinuation.cs
- SiteMapProvider.cs
- AsymmetricSignatureDeformatter.cs
- RelatedPropertyManager.cs
- CollectionChangedEventManager.cs
- EventProviderWriter.cs
- GraphicsPath.cs
- TemplatedMailWebEventProvider.cs
- StrokeNodeEnumerator.cs
- MissingMethodException.cs
- PersonalizablePropertyEntry.cs
- TemplateBaseAction.cs
- StringConverter.cs
- ObjectCacheHost.cs
- ServiceDescription.cs
- MiniConstructorInfo.cs
- BitmapCodecInfoInternal.cs
- ItemContainerProviderWrapper.cs
- DropShadowEffect.cs
- TypeInfo.cs
- ListSourceHelper.cs
- MultiView.cs
- Stroke2.cs
- LocalIdCollection.cs
- DescendantBaseQuery.cs
- DataGridViewRow.cs
- DateTimeStorage.cs
- DateTime.cs
- PointCollection.cs
- Decoder.cs
- linebase.cs
- ClaimTypeElementCollection.cs
- UnsupportedPolicyOptionsException.cs
- WebUtil.cs
- XsltContext.cs
- DeflateStreamAsyncResult.cs
- CmsUtils.cs
- GroupBoxAutomationPeer.cs
- GuidConverter.cs
- KnownColorTable.cs
- SqlFileStream.cs
- SecurityState.cs
- LinqDataSourceView.cs
- ClientConfigPaths.cs