XPathNavigator.Name Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Wanneer deze wordt overschreven in een afgeleide klasse, haalt u de gekwalificeerde naam van het huidige knooppunt op.
public:
abstract property System::String ^ Name { System::String ^ get(); };
public abstract string Name { get; }
member this.Name : string
Public MustOverride ReadOnly Property Name As String
Waarde van eigenschap
Een String met de gekwalificeerde knooppunten Name van het huidige knooppunt of Empty als het huidige knooppunt geen naam heeft (bijvoorbeeld tekst- of opmerkingsknooppunten).
Voorbeelden
In het volgende voorbeeld wordt de knooppuntstructuur recursief herhaald en wordt informatie over Element en Text knooppunten weergegeven.
static void XPathNavigatorMethods_MoveToNext()
{
XPathDocument document = new XPathDocument("books.xml");
XPathNavigator navigator = document.CreateNavigator();
XPathNodeIterator nodeset = navigator.Select("descendant::book[author/last-name='Melville']");
while (nodeset.MoveNext())
{
// Clone iterator here when working with it.
RecursiveWalk(nodeset.Current.Clone());
}
}
public static void RecursiveWalk(XPathNavigator navigator)
{
switch (navigator.NodeType)
{
case XPathNodeType.Element:
if (string.IsNullOrEmpty(navigator.Prefix))
Console.WriteLine("<{0}>", navigator.LocalName);
else
Console.Write("<{0}:{1}>", navigator.Prefix, navigator.LocalName);
Console.WriteLine("\t" + navigator.NamespaceURI);
break;
case XPathNodeType.Text:
Console.WriteLine("\t" + navigator.Value);
break;
}
if (navigator.MoveToFirstChild())
{
do
{
RecursiveWalk(navigator);
} while (navigator.MoveToNext());
navigator.MoveToParent();
if (navigator.NodeType == XPathNodeType.Element)
Console.WriteLine("</{0}>", navigator.Name);
}
else
{
if (navigator.NodeType == XPathNodeType.Element)
{
Console.WriteLine("</{0}>", navigator.Name);
}
}
}
Shared Sub XPathNavigatorMethods_MoveToNext()
Dim document As XPathDocument = New XPathDocument("books.xml")
Dim navigator As XPathNavigator = document.CreateNavigator()
Dim nodeset As XPathNodeIterator = navigator.Select("descendant::book[author/last-name='Melville']")
While nodeset.MoveNext()
' Clone iterator here when working with it.
RecursiveWalk(nodeset.Current.Clone())
End While
End Sub
Shared Sub RecursiveWalk(ByVal navigator As XPathNavigator)
Select Case navigator.NodeType
Case XPathNodeType.Element
If navigator.Prefix = String.Empty Then
Console.WriteLine("<{0}>", navigator.LocalName)
Else
Console.Write("<{0}:{1}>", navigator.Prefix, navigator.LocalName)
Console.WriteLine(vbTab + navigator.NamespaceURI)
End If
Case XPathNodeType.Text
Console.WriteLine(vbTab + navigator.Value)
End Select
If navigator.MoveToFirstChild() Then
Do
RecursiveWalk(navigator)
Loop While (navigator.MoveToNext())
navigator.MoveToParent()
If (navigator.NodeType = XPathNodeType.Element) Then
Console.WriteLine("</{0}>", navigator.Name)
End If
Else
If navigator.NodeType = XPathNodeType.Element Then
Console.WriteLine("</{0}>", navigator.Name)
End If
End If
End Sub
In het voorbeeld wordt het books.xml bestand als invoer gebruikt.
<?xml version="1.0" encoding="utf-8" ?>
<bookstore>
<book genre="autobiography" publicationdate="1981-03-22" ISBN="1-861003-11-0">
<title>The Autobiography of Benjamin Franklin</title>
<author>
<first-name>Benjamin</first-name>
<last-name>Franklin</last-name>
</author>
<price>8.99</price>
</book>
<book genre="novel" publicationdate="1967-11-17" ISBN="0-201-63361-2">
<title>The Confidence Man</title>
<author>
<first-name>Herman</first-name>
<last-name>Melville</last-name>
</author>
<price>11.99</price>
</book>
<book genre="philosophy" publicationdate="1991-02-15" ISBN="1-861001-57-6">
<title>The Gorgias</title>
<author>
<name>Plato</name>
</author>
<price>9.99</price>
</book>
</bookstore>
Opmerkingen
De Name geretourneerde waarde is afhankelijk van het XPathNodeType huidige knooppunt. De naam voor het <bk:book> element is bk:bookbijvoorbeeld .
De volgende tabel bevat de waarde die door de Name eigenschap wordt geretourneerd, op basis van het XPathNodeType huidige knooppunt.
| XPathNodeType | Eigenschapswaarde |
|---|---|
| Element | De gekwalificeerde naam van de Element. In het volgende voorbeeld <bk:book>is bk:bookde naam van het elementknooppunt. |
| Attribute | De gekwalificeerde naam van de Attribute. In het volgende voorbeeld <book bk:genre='novel'>is Attributede naam van het bk:genre knooppunt. |
| Namespace | Het voorvoegsel dat is gekoppeld aan de naamruimte-URI. In de volgende naamruimtedeclaratie wordt xmlns:bk='urn:samples'de Name eigenschap geretourneerd bk. |
| ProcessingInstruction | Het doel van de ProcessingInstruction. In het volgende voorbeeld retourneert <?xml-stylesheet type='text/xsl' href= 'books.xsl'?>Namede xml-stylesheet eigenschap . |
| Alle andere XPathNodeType knooppunten | String.Empty. |