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
- WmlCalendarAdapter.cs
- EventlogProvider.cs
- DataGridViewRowCollection.cs
- CompilationUnit.cs
- FileDialogCustomPlace.cs
- TextBoxRenderer.cs
- SrgsGrammarCompiler.cs
- FastPropertyAccessor.cs
- RangeValuePattern.cs
- OdbcDataAdapter.cs
- BaseConfigurationRecord.cs
- HMACSHA1.cs
- SoundPlayer.cs
- PerformanceCounterLib.cs
- PageBreakRecord.cs
- ScriptResourceAttribute.cs
- AssociationTypeEmitter.cs
- UiaCoreApi.cs
- ToolStripLabel.cs
- TraceUtility.cs
- DefaultPropertyAttribute.cs
- EventBuilder.cs
- AuthorizationRuleCollection.cs
- EventDriven.cs
- ImageList.cs
- InputLangChangeEvent.cs
- PromptStyle.cs
- Stylus.cs
- NTAccount.cs
- ExpressionConverter.cs
- DataTableCollection.cs
- OracleInternalConnection.cs
- InvokeGenerator.cs
- EditorAttributeInfo.cs
- MarshalByValueComponent.cs
- ByteStack.cs
- ToolBarOverflowPanel.cs
- XPathCompileException.cs
- WSMessageEncoding.cs
- ObjectQuery_EntitySqlExtensions.cs
- HostedTcpTransportManager.cs
- ButtonBaseAutomationPeer.cs
- HandlerBase.cs
- IIS7WorkerRequest.cs
- SeekableReadStream.cs
- WindowsEditBox.cs
- SqlTypesSchemaImporter.cs
- ComponentEditorForm.cs
- MetafileHeader.cs
- __ConsoleStream.cs
- SoapDocumentMethodAttribute.cs
- GeneralTransform3D.cs
- MsmqInputChannelListener.cs
- XsdBuilder.cs
- Size.cs
- RawStylusInputReport.cs
- X509RawDataKeyIdentifierClause.cs
- Reference.cs
- Claim.cs
- HebrewNumber.cs
- XsdDataContractImporter.cs
- DupHandleConnectionReader.cs
- X509CertificateCollection.cs
- OracleDataReader.cs
- Aggregates.cs
- HtmlInputControl.cs
- SaveFileDialog.cs
- CacheHelper.cs
- CriticalHandle.cs
- ContravarianceAdapter.cs
- RepeaterCommandEventArgs.cs
- RtfControls.cs
- SimpleTextLine.cs
- EntityDataReader.cs
- DbMetaDataColumnNames.cs
- LoginDesigner.cs
- NodeInfo.cs
- SoapReflectionImporter.cs
- UnsafeNativeMethods.cs
- SessionStateContainer.cs
- ProviderUtil.cs
- ElementMarkupObject.cs
- RunWorkerCompletedEventArgs.cs
- KerberosTokenFactoryCredential.cs
- SerialPinChanges.cs
- RTLAwareMessageBox.cs
- SafeProcessHandle.cs
- DrawingServices.cs
- ThaiBuddhistCalendar.cs
- ExtractCollection.cs
- PropertyNames.cs
- IncrementalReadDecoders.cs
- OptionalColumn.cs
- AccessKeyManager.cs
- EntityDataSourceContainerNameConverter.cs
- MsmqOutputChannel.cs
- BuildProvider.cs
- SafeNativeMethods.cs
- HandlerFactoryCache.cs
- CompiledELinqQueryState.cs