Aracılığıyla paylaş


XPathNavigator.Prefix Özellik

Tanım

Türetilmiş bir sınıfta geçersiz kılındığında, geçerli düğümle ilişkili ad alanı ön ekini alır.

public:
 abstract property System::String ^ Prefix { System::String ^ get(); };
public abstract string Prefix { get; }
member this.Prefix : string
Public MustOverride ReadOnly Property Prefix As String

Özellik Değeri

String Geçerli düğümle ilişkili ad alanı ön ekini içeren bir.

Örnekler

Aşağıdaki örnek, düğüm ağacı üzerinde yinelemeli olarak yinelenir ve ve Text düğümleri hakkındaki Element bilgileri görüntüler.

static void XPathNavigatorMethods_MoveToNext()
{
    
    XPathDocument^ document = gcnew 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());
    }
}

static void RecursiveWalk(XPathNavigator^ navigator)
{
    switch (navigator->NodeType)
    {
    case XPathNodeType::Element:
        if (navigator->Prefix == String::Empty)
                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);
       }
    }
}
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

Örnek, dosyayı giriş olarak alır books.xml .

<?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>  

Açıklamalar

özelliği geçerli Prefix düğümle ilişkili ad alanı ön ekini alır. Örneğin, Prefix özelliği öğesi için <bk:book> döndürürbk. Bir ön ek yoksa veya XPathNodeType geçerli düğümün veya AttributePrefix değilse Element özelliği döndürürString.Empty.

Şunlara uygulanır