Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- MimeReturn.cs
- DictionaryCustomTypeDescriptor.cs
- MatrixUtil.cs
- NumericPagerField.cs
- CacheSection.cs
- WinCategoryAttribute.cs
- LinearGradientBrush.cs
- OdbcConnection.cs
- Signature.cs
- XmlValidatingReaderImpl.cs
- CodeCompiler.cs
- MailDefinition.cs
- AutoCompleteStringCollection.cs
- WebPartConnectionsDisconnectVerb.cs
- LZCodec.cs
- XmlQueryStaticData.cs
- DesignerActionPropertyItem.cs
- HotCommands.cs
- HtmlGenericControl.cs
- SchemaImporterExtension.cs
- DelegatingMessage.cs
- Scheduling.cs
- DateRangeEvent.cs
- DesignerHost.cs
- TextOptions.cs
- SqlClientWrapperSmiStreamChars.cs
- XmlElementAttributes.cs
- XmlAttributeProperties.cs
- ShapingEngine.cs
- coordinator.cs
- Axis.cs
- NamespaceCollection.cs
- GetPageNumberCompletedEventArgs.cs
- AuthenticationException.cs
- PointAnimationUsingKeyFrames.cs
- FixedStringLookup.cs
- IgnoreFlushAndCloseStream.cs
- DropSource.cs
- DrawingServices.cs
- Bits.cs
- Switch.cs
- NetTcpSecurityElement.cs
- SafeNativeMethods.cs
- Error.cs
- Size3D.cs
- DesignerActionKeyboardBehavior.cs
- ThemeInfoAttribute.cs
- ValidationEventArgs.cs
- listitem.cs
- PixelFormat.cs
- DataGridAddNewRow.cs
- WebPartDeleteVerb.cs
- FontCollection.cs
- PeerContact.cs
- SimpleFileLog.cs
- ExpressionHelper.cs
- BeginStoryboard.cs
- DbMetaDataColumnNames.cs
- SystemIcons.cs
- GridView.cs
- InkCanvasAutomationPeer.cs
- PointAnimationUsingKeyFrames.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- ContravarianceAdapter.cs
- ConfigurationSchemaErrors.cs
- ValueExpressions.cs
- WindowPatternIdentifiers.cs
- FileSystemWatcher.cs
- CellTreeNodeVisitors.cs
- ThreadAbortException.cs
- DataRelation.cs
- XmlAttributeOverrides.cs
- LambdaCompiler.Lambda.cs
- InvokeGenerator.cs
- TreeSet.cs
- ChildTable.cs
- _TransmitFileOverlappedAsyncResult.cs
- ListViewAutomationPeer.cs
- HotSpotCollection.cs
- _SpnDictionary.cs
- DiagnosticStrings.cs
- PagerSettings.cs
- TextTrailingCharacterEllipsis.cs
- FontFamilyConverter.cs
- GifBitmapDecoder.cs
- MetadataPropertyAttribute.cs
- Baml6Assembly.cs
- ContractInstanceProvider.cs
- IdentityManager.cs
- UnsafeNativeMethods.cs
- UnsafeNativeMethods.cs
- UInt16Converter.cs
- XmlCharCheckingWriter.cs
- ItemAutomationPeer.cs
- CustomAttributeBuilder.cs
- BrowserCapabilitiesCompiler.cs
- connectionpool.cs
- ManifestSignatureInformation.cs
- KeyValuePairs.cs
- PartManifestEntry.cs