Bagikan melalui


XmlNodeReader.ReadAttributeValue Metode

Definisi

Mengurai nilai atribut ke dalam satu atau beberapa Textsimpul , EntityReference, atau EndEntity .

public:
 override bool ReadAttributeValue();
public override bool ReadAttributeValue();
override this.ReadAttributeValue : unit -> bool
Public Overrides Function ReadAttributeValue () As Boolean

Mengembalikan

true jika ada simpul yang akan dikembalikan.

false jika pembaca tidak diposisikan pada node atribut saat panggilan awal dilakukan atau jika semua nilai atribut telah dibaca.

Atribut kosong, seperti, misc="", mengembalikan true dengan satu simpul dengan nilai String.Empty.

Contoh

Contoh berikut membaca atribut dengan node referensi teks dan entitas.

using System;
using System.IO;
using System.Xml;

public class Sample
{
  public static void Main()
  {
    XmlNodeReader reader = null;

    try
    {
       //Create and load an XML document.
       XmlDocument doc = new XmlDocument();
       doc.LoadXml("<!DOCTYPE book [<!ENTITY h 'harcover'>]>" +
                   "<book genre='novel' misc='sale-item &h; 1987'>" +
                   "</book>");

       //Create the reader.
       reader = new XmlNodeReader(doc);

       //Read the misc attribute. The attribute is parsed into multiple
       //text and entity reference nodes.
       reader.MoveToContent();
       reader.MoveToAttribute("misc");
       while (reader.ReadAttributeValue()){
          if (reader.NodeType==XmlNodeType.EntityReference)
            //To expand the entity, call ResolveEntity.
            Console.WriteLine("{0} {1}", reader.NodeType, reader.Name);
          else
             Console.WriteLine("{0} {1}", reader.NodeType, reader.Value);
        }
     }
     finally
     {
        if (reader != null)
          reader.Close();
      }
  }
} // End class
Option Explicit
Option Strict

Imports System.IO
Imports System.Xml

Public Class Sample
    
    Public Shared Sub Main()
        Dim reader As XmlNodeReader = Nothing
        
        Try
            'Create and load an XML document.
            Dim doc As New XmlDocument()
            doc.LoadXml("<!DOCTYPE book [<!ENTITY h 'harcover'>]>" & _
                        "<book genre='novel' misc='sale-item &h; 1987'>" & _
                        "</book>")
            
            'Create the reader. 
            reader = New XmlNodeReader(doc)
            
            'Read the misc attribute. The attribute is parsed into multiple 
            'text and entity reference nodes.
            reader.MoveToContent()
            reader.MoveToAttribute("misc")
            While reader.ReadAttributeValue()
                If reader.NodeType = XmlNodeType.EntityReference Then
                    'To expand the entity, call ResolveEntity.
                    Console.WriteLine("{0} {1}", reader.NodeType, reader.Name)
                Else
                    Console.WriteLine("{0} {1}", reader.NodeType, reader.Value)
                End If
            End While
        Finally
            If Not (reader Is Nothing) Then
                reader.Close()
            End If
        End Try
    End Sub
End Class

Keterangan

Nota

Untuk memanfaatkan fitur yang lebih baru, praktik yang direkomendasikan adalah membuat XmlReader instans menggunakan XmlReaderSettings kelas dan Create metode . Untuk informasi selengkapnya, lihat bagian Keterangan di XmlReader halaman referensi.

Gunakan metode ini setelah memanggil MoveToAttribute untuk membaca simpul referensi teks atau entitas yang membentuk nilai atribut. Dari Depth node nilai atribut adalah satu ditambah kedalaman node atribut; kenaikan dan penurunannya satu per satu ketika Anda melangkah ke dan keluar dari referensi entitas umum.

Berlaku untuk