XmlTextReader.XmlLang プロパティ

定義

現在の xml:lang スコープを取得します。

public:
 virtual property System::String ^ XmlLang { System::String ^ get(); };
public override string XmlLang { get; }
member this.XmlLang : string
Public Overrides ReadOnly Property XmlLang As String

プロパティ値

現在の xml:lang スコープ。

次の例では、各ノードの xml:lang 値を表示します。

#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
   
   // Create the XML fragment to be parsed.
   String^ xmlFrag = "<book xml:lang='en-US'>   <title xml:lang='en-GB'>Colour Analysis</title>   <title>Color Analysis</title> </book>";
   
   // Create the XmlNamespaceManager.
   NameTable^ nt = gcnew NameTable;
   XmlNamespaceManager^ nsmgr = gcnew XmlNamespaceManager( nt );
   
   // Create the XmlParserContext.
   XmlParserContext^ context = gcnew XmlParserContext( nullptr,nsmgr,nullptr,XmlSpace::None );
   
   // Create the reader.
   XmlTextReader^ reader = gcnew XmlTextReader( xmlFrag,XmlNodeType::Element,context );
   reader->WhitespaceHandling = WhitespaceHandling::None;
   
   // Parse the XML and display each of the nodes, including the xml:lang setting.
   while ( reader->Read() )
   {
      switch ( reader->NodeType )
      {
         case XmlNodeType::Element:
            Console::WriteLine( "{0}: < {1}>", reader->XmlLang, reader->Name );
            break;

         case XmlNodeType::Text:
            Console::WriteLine( "{0}: {1}", reader->XmlLang, reader->Value );
            break;

         case XmlNodeType::EndElement:
            Console::WriteLine( "{0}: </ {1}>", reader->XmlLang, reader->Name );
            break;
      }
   }

   
   // Close the reader.
   reader->Close();
}
using System;
using System.IO;
using System.Xml;

public class Sample{

  public static void Main(){

    //Create the XML fragment to be parsed.
    string xmlFrag  = "<book xml:lang='en-US'> " +
                           "  <title xml:lang='en-GB'>Colour Analysis</title>" +
                           "  <title>Color Analysis</title>" +
                           "</book>";

    //Create the XmlNamespaceManager.
    NameTable nt = new NameTable();
    XmlNamespaceManager nsmgr = new XmlNamespaceManager(nt);

    //Create the XmlParserContext.
    XmlParserContext context = new XmlParserContext(null, nsmgr, null, XmlSpace.None);

    //Create the reader.
    XmlTextReader reader = new XmlTextReader(xmlFrag, XmlNodeType.Element, context);
    reader.WhitespaceHandling = WhitespaceHandling.None;

    //Parse the XML and display each of the nodes, including the xml:lang setting.
    while (reader.Read()){
       switch (reader.NodeType){
         case XmlNodeType.Element:
           Console.WriteLine("{0}: <{1}>", reader.XmlLang, reader.Name);
           break;
         case XmlNodeType.Text:
           Console.WriteLine("{0}: {1}", reader.XmlLang, reader.Value);
           break;
         case XmlNodeType.EndElement:
           Console.WriteLine("{0}: </{1}>", reader.XmlLang, reader.Name);
           break;
       }
    }

    //Close the reader.
    reader.Close();
  }
}
Imports System.IO
Imports System.Xml

public class Sample 

  public shared sub Main()

    'Create the XML fragment to be parsed.
    Dim xmlFrag as string = "<book xml:lang='en-US'> " & _
                                    "  <title xml:lang='en-GB'>Colour Analysis</title>" & _
                                    "  <title>Color Analysis</title>" & _
                                    "</book>" 

    'Create the XmlNamespaceManager.
    Dim nt as NameTable = new NameTable()
    Dim nsmgr as XmlNamespaceManager = new XmlNamespaceManager(nt)

    'Create the XmlParserContext.
    Dim context as XmlParserContext = new XmlParserContext(nothing, nsmgr, nothing, XmlSpace.None)

    'Create the reader.
    Dim reader as XmlTextReader = new XmlTextReader(xmlFrag, XmlNodeType.Element, context)
    reader.WhitespaceHandling = WhitespaceHandling.None

    'Parse the XML and display each of the nodes, including the xml:lang setting.
    while (reader.Read())
       select case reader.NodeType
         case XmlNodeType.Element:
           Console.WriteLine("{0}: <{1}>", reader.XmlLang, reader.Name)
         case XmlNodeType.Text:
           Console.WriteLine("{0}: {1}", reader.XmlLang, reader.Value)
         case XmlNodeType.EndElement:
           Console.WriteLine("{0}: </{1}>", reader.XmlLang, reader.Name)
       end select       
    end while           
  
    'Close the reader.
    reader.Close()     
  
  end sub
end class

注釈

Note

.NET Framework 2.0 以降では、 メソッドを使用してXmlReader.Create新しい機能を利用してインスタンスを作成XmlReaderすることをお勧めします。

このプロパティは、現在の xml:lang ノードが存在するスコープを表します。 たとえば、ルート要素で US English に設定された XML フラグメント xml:lang を次に示します。

<root xml:lang="en-us">

<name>Fred</name>

</ルート>

リーダーが 要素に name 配置されている場合は、このプロパティを使用して、それが US English xml:lang 属性のスコープ内にあることを確認できます。

適用対象

こちらもご覧ください