Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / Shared / MS / Internal / XmlHelper.cs / 1 / XmlHelper.cs
//----------------------------------------------------------------------------
//
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//
// Description:
// Implements some helper functions for Xml nodes.
//
//---------------------------------------------------------------------------
using System;
using System.Xml;
#if WINDOWS_BASE
using MS.Internal.WindowsBase;
#elif PRESENTATION_CORE
using MS.Internal.PresentationCore;
#elif PRESENTATIONFRAMEWORK
using MS.Internal.PresentationFramework;
#elif DRT
using MS.Internal.Drt;
#else
#error Attempt to use FriendAccessAllowedAttribute from an unknown assembly.
using MS.Internal.YourAssemblyName;
#endif
namespace MS.Internal
{
[FriendAccessAllowed]
static class XmlHelper
{
///
/// Return true if the given item is an XML node.
///
internal static bool IsXmlNode(object item)
{
if (item != null)
{
Type type = item.GetType();
return type.FullName.StartsWith("System.Xml", StringComparison.Ordinal) && IsXmlNodeHelper(item);
}
else
return false;
}
// separate function to avoid JIT-ing System.Xml until we have a good reason
private static bool IsXmlNodeHelper(object item)
{
return item is System.Xml.XmlNode;
}
///
/// Return a string by applying an XPath query to an XmlNode.
///
internal static string SelectStringValue(XmlNode node, string query)
{
return SelectStringValue(node, query, null);
}
///
/// Return a string by applying an XPath query to an XmlNode.
///
internal static string SelectStringValue(XmlNode node, string query, XmlNamespaceManager namespaceManager)
{
string strValue;
XmlNode result;
result = node.SelectSingleNode(query, namespaceManager);
if (result != null)
{
strValue = XmlHelper.ExtractString(result);
}
else
{
strValue = String.Empty;
}
return strValue;
}
///
/// Get a string from an XmlNode (of any kind: element, attribute, etc.)
///
internal static string ExtractString(XmlNode node)
{
string value = "";
if (node.NodeType == XmlNodeType.Element)
{
for (int i = 0; i < node.ChildNodes.Count; i++)
{
if (node.ChildNodes[i].NodeType == XmlNodeType.Text)
{
value += node.ChildNodes[i].Value;
}
}
}
else
{
value = node.Value;
}
return value;
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
//----------------------------------------------------------------------------
//
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//
// Description:
// Implements some helper functions for Xml nodes.
//
//---------------------------------------------------------------------------
using System;
using System.Xml;
#if WINDOWS_BASE
using MS.Internal.WindowsBase;
#elif PRESENTATION_CORE
using MS.Internal.PresentationCore;
#elif PRESENTATIONFRAMEWORK
using MS.Internal.PresentationFramework;
#elif DRT
using MS.Internal.Drt;
#else
#error Attempt to use FriendAccessAllowedAttribute from an unknown assembly.
using MS.Internal.YourAssemblyName;
#endif
namespace MS.Internal
{
[FriendAccessAllowed]
static class XmlHelper
{
///
/// Return true if the given item is an XML node.
///
internal static bool IsXmlNode(object item)
{
if (item != null)
{
Type type = item.GetType();
return type.FullName.StartsWith("System.Xml", StringComparison.Ordinal) && IsXmlNodeHelper(item);
}
else
return false;
}
// separate function to avoid JIT-ing System.Xml until we have a good reason
private static bool IsXmlNodeHelper(object item)
{
return item is System.Xml.XmlNode;
}
///
/// Return a string by applying an XPath query to an XmlNode.
///
internal static string SelectStringValue(XmlNode node, string query)
{
return SelectStringValue(node, query, null);
}
///
/// Return a string by applying an XPath query to an XmlNode.
///
internal static string SelectStringValue(XmlNode node, string query, XmlNamespaceManager namespaceManager)
{
string strValue;
XmlNode result;
result = node.SelectSingleNode(query, namespaceManager);
if (result != null)
{
strValue = XmlHelper.ExtractString(result);
}
else
{
strValue = String.Empty;
}
return strValue;
}
///
/// Get a string from an XmlNode (of any kind: element, attribute, etc.)
///
internal static string ExtractString(XmlNode node)
{
string value = "";
if (node.NodeType == XmlNodeType.Element)
{
for (int i = 0; i < node.ChildNodes.Count; i++)
{
if (node.ChildNodes[i].NodeType == XmlNodeType.Text)
{
value += node.ChildNodes[i].Value;
}
}
}
else
{
value = node.Value;
}
return value;
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SocketException.cs
- ECDiffieHellmanPublicKey.cs
- AnimationStorage.cs
- HtmlHead.cs
- TypeExtensionConverter.cs
- AstTree.cs
- Interlocked.cs
- DataSetViewSchema.cs
- ActiveXSite.cs
- SwitchAttribute.cs
- EarlyBoundInfo.cs
- UTF32Encoding.cs
- AddInDeploymentState.cs
- DefinitionUpdate.cs
- SafeThemeHandle.cs
- AppSettingsSection.cs
- ImageField.cs
- Itemizer.cs
- StorageMappingItemCollection.cs
- Math.cs
- TextTreeTextBlock.cs
- CodeVariableReferenceExpression.cs
- Visual3D.cs
- Matrix.cs
- InheritanceUI.cs
- TraceContextRecord.cs
- PageEventArgs.cs
- SerializableAttribute.cs
- StateInitializationDesigner.cs
- ProfessionalColorTable.cs
- QueryOperatorEnumerator.cs
- FontInfo.cs
- ComboBox.cs
- AlignmentXValidation.cs
- EntityDataSource.cs
- recordstatefactory.cs
- GeneratedContractType.cs
- EditorZone.cs
- ClientBuildManager.cs
- Stylus.cs
- WriteFileContext.cs
- XmlArrayAttribute.cs
- Drawing.cs
- PreloadHost.cs
- ClientUIRequest.cs
- CollectionViewProxy.cs
- SerTrace.cs
- CharStorage.cs
- mda.cs
- RemoteWebConfigurationHostStream.cs
- Deflater.cs
- ControlParameter.cs
- ReflectionPermission.cs
- SqlProviderManifest.cs
- ReadOnlyTernaryTree.cs
- StorageBasedPackageProperties.cs
- SubMenuStyleCollectionEditor.cs
- AspNetHostingPermission.cs
- SoapParser.cs
- CannotUnloadAppDomainException.cs
- RangeValidator.cs
- XmlRawWriter.cs
- DataGridAutomationPeer.cs
- DataGridColumn.cs
- Operand.cs
- RectValueSerializer.cs
- ForeignKeyConstraint.cs
- securestring.cs
- DESCryptoServiceProvider.cs
- GuidelineSet.cs
- CodeAccessSecurityEngine.cs
- TracedNativeMethods.cs
- ClientSideProviderDescription.cs
- OdbcInfoMessageEvent.cs
- ChameleonKey.cs
- TogglePatternIdentifiers.cs
- Convert.cs
- DetailsView.cs
- DESCryptoServiceProvider.cs
- InvalidTimeZoneException.cs
- MsmqIntegrationBindingCollectionElement.cs
- RequiredAttributeAttribute.cs
- NameValuePair.cs
- InvalidComObjectException.cs
- XmlTypeAttribute.cs
- ExpressionBuilderContext.cs
- DBSqlParserTableCollection.cs
- SystemNetworkInterface.cs
- DataGridRowHeaderAutomationPeer.cs
- InOutArgumentConverter.cs
- XmlEntity.cs
- HtmlTextArea.cs
- LocalTransaction.cs
- SegmentInfo.cs
- BatchParser.cs
- DetailsViewRowCollection.cs
- SqlDataSourceFilteringEventArgs.cs
- _emptywebproxy.cs
- SqlOuterApplyReducer.cs
- Registry.cs