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
- WorkItem.cs
- Pkcs7Recipient.cs
- NetMsmqSecurityMode.cs
- MessageSecurityOverMsmqElement.cs
- Visual3DCollection.cs
- ProcessingInstructionAction.cs
- WindowsToolbar.cs
- InkCanvasSelection.cs
- HandlerWithFactory.cs
- ClientBuildManager.cs
- DataGridViewRowConverter.cs
- Expression.cs
- SimpleTypesSurrogate.cs
- HandlerFactoryWrapper.cs
- LocalBuilder.cs
- AuditLevel.cs
- CodeCastExpression.cs
- URLBuilder.cs
- MessageEnumerator.cs
- UniqueIdentifierService.cs
- CharacterBufferReference.cs
- MachineKeyConverter.cs
- TextAdaptor.cs
- SystemSounds.cs
- IntSecurity.cs
- LicFileLicenseProvider.cs
- FaultImportOptions.cs
- WebColorConverter.cs
- ActivityExecutorOperation.cs
- ProtocolsConfigurationHandler.cs
- IdentityHolder.cs
- ProxyAssemblyNotLoadedException.cs
- SoapSchemaExporter.cs
- TreeViewAutomationPeer.cs
- Rotation3DAnimation.cs
- CachingParameterInspector.cs
- XmlHierarchicalDataSourceView.cs
- Point4D.cs
- AccessText.cs
- SurrogateSelector.cs
- Signature.cs
- ReachBasicContext.cs
- JsonQNameDataContract.cs
- DesignerTextBoxAdapter.cs
- CreationContext.cs
- ChannelSinkStacks.cs
- DispatcherExceptionEventArgs.cs
- PriorityQueue.cs
- TreeNodeClickEventArgs.cs
- ExpressionQuoter.cs
- MetadataImporter.cs
- WeakHashtable.cs
- MiniMapControl.xaml.cs
- XPathNodeIterator.cs
- PersonalizationAdministration.cs
- LayeredChannelListener.cs
- RectangleF.cs
- DataGridViewRowCollection.cs
- Function.cs
- SqlDataReader.cs
- _NestedMultipleAsyncResult.cs
- DeviceSpecificChoiceCollection.cs
- SmiTypedGetterSetter.cs
- EditorZone.cs
- SQLInt16Storage.cs
- SourceChangedEventArgs.cs
- KeySplineConverter.cs
- XmlSchemaComplexContentExtension.cs
- DataColumn.cs
- ModelService.cs
- Empty.cs
- PropertyOrder.cs
- X509Certificate2Collection.cs
- OdbcCommandBuilder.cs
- ColumnTypeConverter.cs
- FSWPathEditor.cs
- EntryPointNotFoundException.cs
- SqlTriggerContext.cs
- ContainerActivationHelper.cs
- WebConvert.cs
- EntitySetBaseCollection.cs
- CqlLexer.cs
- SiteIdentityPermission.cs
- DataBinder.cs
- LayoutEngine.cs
- DataServiceQuery.cs
- DictionaryKeyPropertyAttribute.cs
- ProxyWebPartConnectionCollection.cs
- EntityTypeBase.cs
- ResourceDisplayNameAttribute.cs
- TypeElement.cs
- QilXmlReader.cs
- NominalTypeEliminator.cs
- MouseActionValueSerializer.cs
- Storyboard.cs
- SimpleFieldTemplateFactory.cs
- FloaterBaseParaClient.cs
- PageWrapper.cs
- ChannelTokenTypeConverter.cs
- ListViewInsertedEventArgs.cs