Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- CollectionBase.cs
- sqlpipe.cs
- TablePatternIdentifiers.cs
- EventLogInformation.cs
- UserControlCodeDomTreeGenerator.cs
- PropertyNames.cs
- MediaContextNotificationWindow.cs
- DelegatingConfigHost.cs
- ImageResources.Designer.cs
- DictionaryCustomTypeDescriptor.cs
- ImageAttributes.cs
- GZipStream.cs
- RadioButtonStandardAdapter.cs
- DES.cs
- ListSourceHelper.cs
- DataReceivedEventArgs.cs
- WhitespaceRule.cs
- ContextStaticAttribute.cs
- BindingExpressionBase.cs
- ElementFactory.cs
- DocumentViewerConstants.cs
- RoutedEventValueSerializer.cs
- MessagePropertyVariants.cs
- XmlSortKeyAccumulator.cs
- ButtonRenderer.cs
- RuleRef.cs
- RijndaelManaged.cs
- VisualStateManager.cs
- HttpInputStream.cs
- QuaternionAnimation.cs
- EncryptedXml.cs
- CultureMapper.cs
- DesignerForm.cs
- Pen.cs
- EdmProviderManifest.cs
- Int64AnimationUsingKeyFrames.cs
- MetadataUtilsSmi.cs
- NameObjectCollectionBase.cs
- TableLayout.cs
- ParagraphResult.cs
- DragEvent.cs
- HtmlInputReset.cs
- SessionStateSection.cs
- ServicePoint.cs
- NameSpaceEvent.cs
- KnownBoxes.cs
- TaskExceptionHolder.cs
- ChooseAction.cs
- TypefaceCollection.cs
- Message.cs
- System.Data_BID.cs
- ArglessEventHandlerProxy.cs
- ManipulationDeltaEventArgs.cs
- ListControl.cs
- FreezableCollection.cs
- FilterQuery.cs
- BaseCollection.cs
- ToolStripActionList.cs
- DynamicDataManager.cs
- ApplicationBuildProvider.cs
- SwitchAttribute.cs
- SoapIncludeAttribute.cs
- ReferencedCollectionType.cs
- SchemaImporter.cs
- BamlReader.cs
- _IPv6Address.cs
- ConfigurationSchemaErrors.cs
- Visual3DCollection.cs
- UnmanagedMemoryStreamWrapper.cs
- TargetInvocationException.cs
- Completion.cs
- ToolBarTray.cs
- ECDiffieHellmanPublicKey.cs
- AstTree.cs
- CodeAttachEventStatement.cs
- ListQueryResults.cs
- WindowPattern.cs
- AssemblyCache.cs
- WebPartTracker.cs
- PathSegment.cs
- GregorianCalendarHelper.cs
- EncryptedReference.cs
- XmlLoader.cs
- LayoutSettings.cs
- DynamicActivity.cs
- EntityDataSourceReferenceGroup.cs
- FlowDocumentPaginator.cs
- DesignerVerbToolStripMenuItem.cs
- TreeWalker.cs
- TimeSpanParse.cs
- ScriptResourceInfo.cs
- CmsInterop.cs
- TextElement.cs
- StrongNameUtility.cs
- TypeUtils.cs
- CapabilitiesRule.cs
- TextChangedEventArgs.cs
- ExecutionScope.cs
- HierarchicalDataSourceIDConverter.cs
- SecurityImpersonationBehavior.cs