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
- ExceptionDetail.cs
- NavigationWindow.cs
- IndexerNameAttribute.cs
- XmlEntity.cs
- ExternalCalls.cs
- BasicCellRelation.cs
- DynamicQueryableWrapper.cs
- RecipientServiceModelSecurityTokenRequirement.cs
- ProxyElement.cs
- DefaultBindingPropertyAttribute.cs
- XmlDesigner.cs
- TypeUtil.cs
- ForeignKeyConstraint.cs
- HttpStaticObjectsCollectionWrapper.cs
- SelectionListDesigner.cs
- TimeoutException.cs
- XhtmlBasicLabelAdapter.cs
- ChildTable.cs
- SystemSounds.cs
- GraphicsPathIterator.cs
- TextSerializer.cs
- FileDialogCustomPlaces.cs
- DataSourceCacheDurationConverter.cs
- ClientSection.cs
- FileNotFoundException.cs
- UIAgentMonitorHandle.cs
- ParenthesizePropertyNameAttribute.cs
- RelationalExpressions.cs
- MdImport.cs
- ManagementClass.cs
- ApplicationDirectoryMembershipCondition.cs
- Rotation3DAnimation.cs
- InlinedAggregationOperator.cs
- InvokeCompletedEventArgs.cs
- BuildManager.cs
- ExpressionPrinter.cs
- InvokeProviderWrapper.cs
- Int32AnimationBase.cs
- HyperLinkColumn.cs
- CompilerTypeWithParams.cs
- WebPartEventArgs.cs
- GeometryDrawing.cs
- WaitForChangedResult.cs
- SyntaxCheck.cs
- TableLayoutSettingsTypeConverter.cs
- ContextBase.cs
- XPathArrayIterator.cs
- DBCommandBuilder.cs
- CodeAttributeArgument.cs
- Schema.cs
- ByteAnimation.cs
- AdRotatorDesigner.cs
- RoutedCommand.cs
- DefaultObjectMappingItemCollection.cs
- DataGridViewLinkCell.cs
- MediaSystem.cs
- SQLRoleProvider.cs
- InfoCardRSAOAEPKeyExchangeDeformatter.cs
- UriExt.cs
- NativeMethodsCLR.cs
- DockPattern.cs
- SymmetricKeyWrap.cs
- VerticalAlignConverter.cs
- GlyphsSerializer.cs
- DocumentXPathNavigator.cs
- ToolStripItemEventArgs.cs
- RegistryDataKey.cs
- CqlWriter.cs
- _Rfc2616CacheValidators.cs
- PasswordRecovery.cs
- FontDialog.cs
- TTSEngineProxy.cs
- CancellationToken.cs
- ComponentConverter.cs
- ScriptControl.cs
- WpfSharedBamlSchemaContext.cs
- AssemblyCache.cs
- NumberAction.cs
- ValidationSummary.cs
- FrameworkElementFactory.cs
- SoapInteropTypes.cs
- SubpageParaClient.cs
- peersecurityelement.cs
- SequentialWorkflowRootDesigner.cs
- BitmapEffect.cs
- Item.cs
- Thumb.cs
- WindowsListViewSubItem.cs
- SubpageParagraph.cs
- Trace.cs
- RemotingSurrogateSelector.cs
- DataGridViewComboBoxEditingControl.cs
- WindowsStatusBar.cs
- DataObject.cs
- DeflateEmulationStream.cs
- EditingMode.cs
- PolicyManager.cs
- SymbolType.cs
- ExecutionContext.cs
- CommonProperties.cs