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
- ConfigurationFileMap.cs
- AttachedPropertyMethodSelector.cs
- SoapReflectionImporter.cs
- IdentityNotMappedException.cs
- SqlGenericUtil.cs
- FixedSOMElement.cs
- UIElementParaClient.cs
- ModelPerspective.cs
- X509Chain.cs
- HTMLTagNameToTypeMapper.cs
- SettingsPropertyWrongTypeException.cs
- CompilerTypeWithParams.cs
- PropertyValidationContext.cs
- CodeGen.cs
- EnvironmentPermission.cs
- EntityFrameworkVersions.cs
- DelegatingConfigHost.cs
- EndEvent.cs
- EncryptedReference.cs
- WindowsTab.cs
- SqlNotificationEventArgs.cs
- LinkUtilities.cs
- CompilerInfo.cs
- AffineTransform3D.cs
- SqlDataSourceFilteringEventArgs.cs
- XPathDocumentBuilder.cs
- ExceptionAggregator.cs
- PackagingUtilities.cs
- FlowDocument.cs
- MimePart.cs
- NamedObject.cs
- CacheDependency.cs
- FtpWebResponse.cs
- TextDecorationUnitValidation.cs
- EncoderBestFitFallback.cs
- ByteAnimation.cs
- ObjectSerializerFactory.cs
- XsdSchemaFileEditor.cs
- EntityWrapperFactory.cs
- Ipv6Element.cs
- DataBoundControl.cs
- DesignerActionVerbList.cs
- ProfessionalColorTable.cs
- CombinedHttpChannel.cs
- UserMapPath.cs
- OutputCacheSection.cs
- CodeNamespaceImportCollection.cs
- IgnoreFileBuildProvider.cs
- InternalBufferOverflowException.cs
- AudioFormatConverter.cs
- ExtenderProvidedPropertyAttribute.cs
- RadioButtonAutomationPeer.cs
- WorkItem.cs
- Match.cs
- ImageClickEventArgs.cs
- TimerElapsedEvenArgs.cs
- ExpressionBindings.cs
- InspectionWorker.cs
- GradientBrush.cs
- XmlCollation.cs
- messageonlyhwndwrapper.cs
- FileChangesMonitor.cs
- assemblycache.cs
- ImageButton.cs
- TextServicesCompartmentEventSink.cs
- PageSettings.cs
- WsrmTraceRecord.cs
- GridViewAutomationPeer.cs
- TemplateColumn.cs
- XamlInt32CollectionSerializer.cs
- PrinterUnitConvert.cs
- ResourceManagerWrapper.cs
- CapabilitiesPattern.cs
- NavigatorOutput.cs
- TypeLibConverter.cs
- DropDownButton.cs
- ZoneButton.cs
- FailedToStartupUIException.cs
- InvalidCommandTreeException.cs
- RelationshipFixer.cs
- KeySpline.cs
- DataListCommandEventArgs.cs
- ImmutableObjectAttribute.cs
- AttachmentCollection.cs
- ResourceContainer.cs
- VisualStyleRenderer.cs
- TreeViewItemAutomationPeer.cs
- ClientScriptItem.cs
- PenThreadPool.cs
- TableRowCollection.cs
- CapiHashAlgorithm.cs
- ListViewTableRow.cs
- StorageScalarPropertyMapping.cs
- _UncName.cs
- HttpNamespaceReservationInstallComponent.cs
- XsdCachingReader.cs
- Image.cs
- Animatable.cs
- _ServiceNameStore.cs
- BamlRecords.cs