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
- IODescriptionAttribute.cs
- BufferedGraphics.cs
- _Rfc2616CacheValidators.cs
- ConfigPathUtility.cs
- SEHException.cs
- SignatureGenerator.cs
- PropertyTabAttribute.cs
- NumericUpDown.cs
- ListViewCancelEventArgs.cs
- SystemIPInterfaceProperties.cs
- IndexedString.cs
- SuppressMergeCheckAttribute.cs
- DataKeyArray.cs
- CompositeFontFamily.cs
- HttpProfileGroupBase.cs
- XmlSchemaDocumentation.cs
- DataControlImageButton.cs
- Classification.cs
- StatusBar.cs
- DataGridViewLayoutData.cs
- PolicyChain.cs
- CoTaskMemUnicodeSafeHandle.cs
- ProjectionCamera.cs
- EdmError.cs
- CanonicalXml.cs
- PageParserFilter.cs
- XmlByteStreamWriter.cs
- SystemWebExtensionsSectionGroup.cs
- PageBuildProvider.cs
- SqlLiftWhereClauses.cs
- ConfigurationConverterBase.cs
- WebPartExportVerb.cs
- NetworkAddressChange.cs
- XamlWriter.cs
- RawTextInputReport.cs
- UnmanagedMemoryStream.cs
- OleDbPropertySetGuid.cs
- AssemblyNameUtility.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- Dynamic.cs
- DbConnectionHelper.cs
- DateTimeOffset.cs
- xdrvalidator.cs
- LinqDataSourceStatusEventArgs.cs
- XPathSingletonIterator.cs
- EventKeyword.cs
- DataGridViewColumnDesigner.cs
- InvalidDocumentContentsException.cs
- SubMenuStyle.cs
- DataGridTableCollection.cs
- Vector3DKeyFrameCollection.cs
- RawStylusInputCustomDataList.cs
- WeakReferenceEnumerator.cs
- StructuredCompositeActivityDesigner.cs
- Control.cs
- Int32CollectionConverter.cs
- BitmapDownload.cs
- StateMachineAction.cs
- VersionedStreamOwner.cs
- DataRelationCollection.cs
- FolderBrowserDialogDesigner.cs
- SatelliteContractVersionAttribute.cs
- ToolStripPanel.cs
- ObjectDataSourceView.cs
- ValidatorUtils.cs
- FrameworkElement.cs
- SqlSelectStatement.cs
- SafeCryptoHandles.cs
- StickyNoteHelper.cs
- NetTcpSecurityElement.cs
- ColumnHeaderConverter.cs
- CachedTypeface.cs
- DigitShape.cs
- TabControlCancelEvent.cs
- UpdateCommandGenerator.cs
- ContentFileHelper.cs
- PagerSettings.cs
- InvalidOleVariantTypeException.cs
- SqlDataSourceCache.cs
- ISessionStateStore.cs
- DesignerForm.cs
- Serializer.cs
- RefreshEventArgs.cs
- ConnectionManager.cs
- ZipIOLocalFileDataDescriptor.cs
- VScrollBar.cs
- VirtualPath.cs
- EdmItemCollection.cs
- SelfIssuedSamlTokenFactory.cs
- ObjectResult.cs
- TextClipboardData.cs
- XmlCountingReader.cs
- COM2PropertyPageUITypeConverter.cs
- OutputChannelBinder.cs
- XmlObjectSerializerWriteContext.cs
- TypeConverter.cs
- DesignColumnCollection.cs
- FileCodeGroup.cs
- HttpCapabilitiesEvaluator.cs
- dataSvcMapFileLoader.cs