XmlTextReader.ReadAttributeValue-Methode
Löst den Attributwert in einen oder mehrere Text-Knoten, EntityReference-Knoten oder EndEntity-Knoten auf.
Namespace: System.Xml
Assembly: System.Xml (in system.xml.dll)
Syntax
'Declaration
Public Overrides Function ReadAttributeValue As Boolean
'Usage
Dim instance As XmlTextReader
Dim returnValue As Boolean
returnValue = instance.ReadAttributeValue
public override bool ReadAttributeValue ()
public:
virtual bool ReadAttributeValue () override
public boolean ReadAttributeValue ()
public override function ReadAttributeValue () : boolean
Rückgabewert
true, wenn zurückzugebende Knoten vorhanden sind. false, wenn der Reader beim ersten Aufruf nicht auf einem Atttributknoten positioniert ist oder alle Attributwerte gelesen wurden. Ein leeres Attribut, z. B. misc=""
, gibt true mit einem einzelnen Knoten mit dem Wert String.Empty zurück.
Hinweise
Hinweis
Die empfohlene Vorgehensweise für die Version Microsoft .NET Framework, Version 2.0 besteht darin, mithilfe der System.Xml.XmlReader.Create-Methode XmlReader-Instanzen zu erstellen. So können Sie die neuen Features dieser Version in vollem Umfang nutzen. Weitere Informationen finden Sie unter Erstellen von XML-Readern.
Verwenden Sie diese Methode, um nach dem Aufruf von MoveToAttribute den Text oder die Entitätsverweisknoten zu lesen, aus den der Attributwert besteht. Die Depth der Attributwertknoten ist eins plus der Tiefe des Attributknotens. Dieser Wert wird beim Einsprung bzw. beim Verlassen allgemeiner Entitätsverweise um eins inkrementiert bzw. dekrementiert.
Beispiel
Im folgenden Beispiel wird ein Attribut mit Text und Entitätsknoten gelesen.
Imports System
Imports System.IO
Imports System.Xml
public class Sample
public shared sub Main()
Dim reader as XmlTextReader = nothing
try
'Create the XML fragment to be parsed.
Dim xmlFrag as string ="<book genre='novel' misc='sale-item &h; 1987'></book>"
'Create the XmlParserContext.
Dim context as XmlParserContext
Dim subset as string = "<!ENTITY h 'hardcover'>"
context = new XmlParserContext(nothing, nothing, "book", nothing, nothing, subset, "", "", XmlSpace.None)
'Create the reader.
reader = new XmlTextReader(xmlFrag, XmlNodeType.Element, context)
'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)
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
reader.Close()
End if
end try
end sub
end class
using System;
using System.IO;
using System.Xml;
public class Sample
{
public static void Main()
{
XmlTextReader reader = null;
try
{
//Create the XML fragment to be parsed.
string xmlFrag ="<book genre='novel' misc='sale-item &h; 1987'></book>";
//Create the XmlParserContext.
XmlParserContext context;
string subset = "<!ENTITY h 'hardcover'>";
context = new XmlParserContext(null, null, "book", null, null, subset, "", "", XmlSpace.None);
//Create the reader.
reader = new XmlTextReader(xmlFrag, XmlNodeType.Element, context);
//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)
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
#using <System.Xml.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
XmlTextReader^ reader = nullptr;
__try
{
// Create the XML fragment to be parsed.
String^ xmlFrag = "<book genre='novel' misc='sale-item &h; 1987'></book>";
// Create the XmlParserContext.
XmlParserContext^ context;
String^ subset = "<!ENTITY h 'hardcover'>";
context = gcnew XmlParserContext( nullptr,nullptr,"book",nullptr,nullptr,subset,"","",XmlSpace::None );
// Create the reader.
reader = gcnew XmlTextReader( xmlFrag,XmlNodeType::Element,context );
// 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 )
Console::WriteLine( " {0} {1}", reader->NodeType, reader->Name );
else
Console::WriteLine( " {0} {1}", reader->NodeType, reader->Value );
}
}
__finally
{
if ( reader != nullptr )
reader->Close();
}
}
import System.*;
import System.IO.*;
import System.Xml.*;
public class Sample
{
public static void main(String[] args)
{
XmlTextReader reader = null;
try {
//Create the XML fragment to be parsed.
String xmlFrag = "<book genre='novel' misc='sale-item &h; 1987'>"
+ "</book>";
//Create the XmlParserContext.
XmlParserContext context;
String subset = "<!ENTITY h 'hardcover'>";
context = new XmlParserContext(null, null, "book", null, null,
subset, "", "", XmlSpace.None);
//Create the reader.
reader = new XmlTextReader(xmlFrag, XmlNodeType.Element, context);
//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.get_NodeType().Equals(XmlNodeType.EntityReference)) {
Console.WriteLine("{0} {1}", reader.get_NodeType(), reader.
get_Name());
}
else {
Console.WriteLine("{0} {1}", reader.get_NodeType(),
reader.get_Value());
}
}
}
finally {
if (reader != null) {
reader.Close();
}
}
} //main
} //End class Sample
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
.NET Compact Framework
Unterstützt in: 2.0, 1.0
Siehe auch
Referenz
XmlTextReader-Klasse
XmlTextReader-Member
System.Xml-Namespace