XPathNavigator.MoveToNext Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Memindahkan XPathNavigator ke simpul saudara berikutnya dari simpul saat ini.
Overload
| Nama | Deskripsi |
|---|---|
| MoveToNext() |
Ketika ditimpa di kelas turunan, memindahkan XPathNavigator ke simpul saudara berikutnya dari simpul saat ini. |
| MoveToNext(XPathNodeType) |
XPathNavigator Memindahkan ke simpul saudara berikutnya dari simpul saat ini yang cocok dengan XPathNodeType yang ditentukan. |
| MoveToNext(String, String) |
XPathNavigator Memindahkan ke simpul saudara berikutnya dengan nama lokal dan URI namespace yang ditentukan. |
MoveToNext()
- Sumber:
- XPathNavigator.cs
- Sumber:
- XPathNavigator.cs
- Sumber:
- XPathNavigator.cs
- Sumber:
- XPathNavigator.cs
- Sumber:
- XPathNavigator.cs
Ketika ditimpa di kelas turunan, memindahkan XPathNavigator ke simpul saudara berikutnya dari simpul saat ini.
public:
abstract bool MoveToNext();
public abstract bool MoveToNext();
abstract member MoveToNext : unit -> bool
Public MustOverride Function MoveToNext () As Boolean
Mengembalikan
true
XPathNavigator jika berhasil berpindah ke simpul saudara berikutnya; jika tidak, jika tidak, false tidak ada lagi saudara kandung atau jika XPathNavigator saat ini diposisikan pada node atribut. Jika false, posisi XPathNavigator tidak berubah.
Contoh
Contoh berikut mengulangi pohon simpul secara rekursif, dan menampilkan informasi tentang elemen dan node teks.
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
Contoh mengambil books.xml file sebagai input.
<?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>
Lihat juga
Berlaku untuk
MoveToNext(XPathNodeType)
- Sumber:
- XPathNavigator.cs
- Sumber:
- XPathNavigator.cs
- Sumber:
- XPathNavigator.cs
- Sumber:
- XPathNavigator.cs
- Sumber:
- XPathNavigator.cs
XPathNavigator Memindahkan ke simpul saudara berikutnya dari simpul saat ini yang cocok dengan XPathNodeType yang ditentukan.
public:
virtual bool MoveToNext(System::Xml::XPath::XPathNodeType type);
public virtual bool MoveToNext(System.Xml.XPath.XPathNodeType type);
abstract member MoveToNext : System.Xml.XPath.XPathNodeType -> bool
override this.MoveToNext : System.Xml.XPath.XPathNodeType -> bool
Public Overridable Function MoveToNext (type As XPathNodeType) As Boolean
Parameter
- type
- XPathNodeType
Dari XPathNodeType simpul saudara yang akan dipindahkan.
Mengembalikan
true
XPathNavigator jika berhasil berpindah ke simpul saudara berikutnya; jika tidak, jika tidak, false tidak ada lagi saudara kandung atau jika XPathNavigator saat ini diposisikan pada node atribut. Jika false, posisi XPathNavigator tidak berubah.
Keterangan
Nilai MoveToNext pengembalian metode tergantung pada XPathNodeType simpul saat ini dan XPathNodeType dari simpul saudara berikutnya untuk dipindahkan.
Tabel berikut ini memperlihatkan simpul yang berbeda XPathNodeType dan simpul saudara yang bisa mereka pindahkan.
| XPathNodeType Simpul Saat Ini | XPathNodeType Simpul Saudara |
|---|---|
| Element | Element, ProcessingInstruction, Comment, atau Text. |
| Text | Element, ProcessingInstruction, Comment, atau Text. |
| ProcessingInstruction | Element, ProcessingInstruction, Comment, atau Text. |
| Comment | Element, ProcessingInstruction, Comment, atau Text. |
| Semua nilai lainnya XPathNodeType | Tidak ada. |
Berlaku untuk
MoveToNext(String, String)
- Sumber:
- XPathNavigator.cs
- Sumber:
- XPathNavigator.cs
- Sumber:
- XPathNavigator.cs
- Sumber:
- XPathNavigator.cs
- Sumber:
- XPathNavigator.cs
XPathNavigator Memindahkan ke simpul saudara berikutnya dengan nama lokal dan URI namespace yang ditentukan.
public:
virtual bool MoveToNext(System::String ^ localName, System::String ^ namespaceURI);
public virtual bool MoveToNext(string localName, string namespaceURI);
abstract member MoveToNext : string * string -> bool
override this.MoveToNext : string * string -> bool
Public Overridable Function MoveToNext (localName As String, namespaceURI As String) As Boolean
Parameter
- localName
- String
Nama lokal simpul saudara berikutnya untuk dipindahkan.
- namespaceURI
- String
URI namespace dari simpul saudara berikutnya untuk dipindahkan.
Mengembalikan
true
XPathNavigator jika berhasil berpindah ke simpul saudara berikutnya; false jika tidak ada lagi saudara kandung, atau jika XPathNavigator saat ini diposisikan pada node atribut. Jika false, posisi XPathNavigator tidak berubah.