Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- DocumentApplication.cs
- PassportAuthentication.cs
- DeleteHelper.cs
- ToolStripArrowRenderEventArgs.cs
- WebHttpElement.cs
- DefaultValidator.cs
- ResetableIterator.cs
- XmlSchemaRedefine.cs
- LambdaCompiler.Binary.cs
- GCHandleCookieTable.cs
- TemplatedWizardStep.cs
- XmlProcessingInstruction.cs
- VirtualPathProvider.cs
- BitmapInitialize.cs
- Int32Converter.cs
- MimeFormReflector.cs
- TimeStampChecker.cs
- ReturnType.cs
- DoubleAnimationUsingPath.cs
- TreeChangeInfo.cs
- BitFlagsGenerator.cs
- SiteOfOriginPart.cs
- EncodingTable.cs
- WorkflowRuntimeService.cs
- ComplexType.cs
- TagMapCollection.cs
- StringResourceManager.cs
- ValidatorCompatibilityHelper.cs
- TextElementEditingBehaviorAttribute.cs
- RenderOptions.cs
- UrlPropertyAttribute.cs
- ChannelServices.cs
- DeviceSpecific.cs
- DeploymentSectionCache.cs
- InvalidCastException.cs
- VariantWrapper.cs
- RegistryPermission.cs
- WaitForChangedResult.cs
- Int32CAMarshaler.cs
- FrameworkReadOnlyPropertyMetadata.cs
- WinEventHandler.cs
- UrlMappingsModule.cs
- SqlLiftIndependentRowExpressions.cs
- SocketException.cs
- AlignmentYValidation.cs
- UnsafeNativeMethods.cs
- QilUnary.cs
- CharacterMetricsDictionary.cs
- URLAttribute.cs
- Button.cs
- EditableRegion.cs
- TemplatedAdorner.cs
- mediaclock.cs
- CollectionType.cs
- BoolExpr.cs
- DefaultMemberAttribute.cs
- FileInfo.cs
- MatcherBuilder.cs
- DataFormats.cs
- ComboBoxHelper.cs
- EntityDataSourceSelectingEventArgs.cs
- CatalogPart.cs
- WindowsToolbarItemAsMenuItem.cs
- WinFormsComponentEditor.cs
- XmlObjectSerializerWriteContextComplexJson.cs
- Assembly.cs
- PeerApplication.cs
- ObjectSet.cs
- SoapExtensionTypeElementCollection.cs
- RepeaterItemEventArgs.cs
- SchemaCollectionPreprocessor.cs
- WindowsFormsSynchronizationContext.cs
- ConfigurationSectionCollection.cs
- DescendentsWalkerBase.cs
- PageAdapter.cs
- BindableAttribute.cs
- DesignBindingValueUIHandler.cs
- BinaryObjectReader.cs
- GroupBox.cs
- Stylesheet.cs
- CopyOnWriteList.cs
- RecoverInstanceLocksCommand.cs
- RSACryptoServiceProvider.cs
- UiaCoreProviderApi.cs
- ContainerControl.cs
- LineServicesRun.cs
- LessThanOrEqual.cs
- Int16AnimationUsingKeyFrames.cs
- PrimitiveCodeDomSerializer.cs
- TypeDependencyAttribute.cs
- VideoDrawing.cs
- SqlCommandSet.cs
- TreeNodeBindingCollection.cs
- RoutingConfiguration.cs
- DependencyPropertyValueSerializer.cs
- BaseHashHelper.cs
- DbMetaDataColumnNames.cs
- Misc.cs
- PrintController.cs
- ScriptHandlerFactory.cs