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
- _NetRes.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- ImpersonationContext.cs
- ReferenceConverter.cs
- Authorization.cs
- GridViewSortEventArgs.cs
- SchemaManager.cs
- ReadOnlyCollectionBase.cs
- ListBindingHelper.cs
- Msmq4SubqueuePoisonHandler.cs
- FilteredAttributeCollection.cs
- DataGridViewCellValidatingEventArgs.cs
- KeyInfo.cs
- LinkedList.cs
- ItemsControlAutomationPeer.cs
- Point3DCollection.cs
- HandoffBehavior.cs
- SafeFileHandle.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- CompareValidator.cs
- MulticastOption.cs
- AggregatePushdown.cs
- NotImplementedException.cs
- TransformCollection.cs
- Block.cs
- SetterTriggerConditionValueConverter.cs
- WebPartDescription.cs
- DynamicValidator.cs
- ChannelPool.cs
- UnsafeNativeMethods.cs
- Token.cs
- ThousandthOfEmRealPoints.cs
- SimplePropertyEntry.cs
- PagerSettings.cs
- XmlWriterSettings.cs
- TextTreeDeleteContentUndoUnit.cs
- TimeoutStream.cs
- NetNamedPipeSecurityMode.cs
- NativeMethods.cs
- ViewStateException.cs
- PaintValueEventArgs.cs
- LedgerEntryCollection.cs
- ContainerParaClient.cs
- X509ChainPolicy.cs
- PaperSize.cs
- HttpSocketManager.cs
- DoubleLinkList.cs
- ApplicationProxyInternal.cs
- ParameterReplacerVisitor.cs
- MdiWindowListStrip.cs
- WhitespaceRuleLookup.cs
- TextServicesPropertyRanges.cs
- SimpleFieldTemplateUserControl.cs
- DataObjectCopyingEventArgs.cs
- XmlSchemaAny.cs
- ViewStateException.cs
- SqlProcedureAttribute.cs
- HebrewNumber.cs
- ContentType.cs
- PageClientProxyGenerator.cs
- SqlDataSourceStatusEventArgs.cs
- BuildProviderCollection.cs
- MailWebEventProvider.cs
- DbDataSourceEnumerator.cs
- SendKeys.cs
- _PooledStream.cs
- OpCodes.cs
- TraceUtility.cs
- ImageAnimator.cs
- XmlSerializerFactory.cs
- MarkupCompilePass1.cs
- SqlCacheDependencyDatabase.cs
- FontCacheUtil.cs
- CommandBinding.cs
- ToolStripDropDownDesigner.cs
- OleDbStruct.cs
- InternalBufferOverflowException.cs
- WindowsAuthenticationModule.cs
- MediaPlayer.cs
- SmtpClient.cs
- HostingPreferredMapPath.cs
- FieldReference.cs
- SrgsRule.cs
- MobileCapabilities.cs
- TreeView.cs
- StreamingContext.cs
- UniqueIdentifierService.cs
- SafeEventHandle.cs
- ZipIOLocalFileDataDescriptor.cs
- RsaElement.cs
- Propagator.Evaluator.cs
- ProfileGroupSettings.cs
- SpecialNameAttribute.cs
- SizeConverter.cs
- SqlDataSourceCommandEventArgs.cs
- StringPropertyBuilder.cs
- Int32Collection.cs
- CodeExpressionStatement.cs
- TraceUtility.cs
- QilLoop.cs