Export (0) Print
Expand All

Extensions.CreateNavigator Method (XNode)

Creates an XPathNavigator for an XNode.

Namespace:  System.Xml.XPath
Assembly:  System.Xml.Linq (in System.Xml.Linq.dll)

static member CreateNavigator : 
        node:XNode -> XPathNavigator

Parameters

node
Type: System.Xml.Linq.XNode

An XNode that can process XPath queries.

Return Value

Type: System.Xml.XPath.XPathNavigator
An XPathNavigator that can process XPath queries.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type XNode. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).

You cannot edit the XML tree by using the XPathNavigator that is returned by this method. The CanEdit property returns false.

You cannot create an XPathNavigator for a XDocumentType node. Document types do not participate in the XPath data model.

Namespace declarations are reported from left to right. In contrast, for XmlDocument namespaces are reported from right to left. This is conformant behavior because namespace declarations are not ordered in the XPath data model.

The method MoveToId is not supported for navigators that are returned by this method.

You can use this method to perform an XSLT transformation. You can create an XML tree, create an XPathNavigator from the XML tree, create a new document, and create a XmlWriter that will write into the new document. Then, you can invoke the XSLT transformation, passing the XPathNavigator and XmlWriter to the transform. After the transformation successfully completes, the new XML tree is populated with the results of the transformation.

To perform an XSLT transformation, you can use either an XmlReader or an XPathNavigator. The two approaches have different performance characteristics. Some transformations will execute faster when using an XmlReader, and others will execute faster when using a XPathNavigator. If performance is a concern, we recommend that you experiment with each approach to determine which will perform better in your circumstances.

No code example is currently available or this language may not be supported.

This example produces the following output:

<Root>
  <C1>Child1 data</C1>
  <C2>Child2 data</C2>
</Root>

.NET Framework

Supported in: 4.6, 4, 3.5

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Show:
© 2014 Microsoft