次の方法で共有


XmlTextReader.XmlLang プロパティ

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

Overrides Public ReadOnly Property XmlLang As String
[C#]
public override string XmlLang {get;}
[C++]
public: __property String* get_XmlLang();
[JScript]
public override function get XmlLang() : String;

プロパティ値

現在の xml:lang スコープ。

解説

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

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

<name>Fred</name>

</root>

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

返される文字列も、 NameTable の形式を取ります。

使用例

[Visual Basic, C#, C++] 各ノードの xml:lang 値を表示する例を次に示します。

 
Imports System
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

[C#] 
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();     
  
  }
}

[C++] 
#using <mscorlib.dll>
#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  = S"<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(0, nsmgr, 0, 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(S"{0}: < {1}>", reader -> XmlLang, reader -> Name);
          break;
       case XmlNodeType::Text:
          Console::WriteLine(S"{0}: {1}", reader -> XmlLang, reader -> Value);
          break;
       case XmlNodeType::EndElement:
          Console::WriteLine(S"{0}: </ {1}>", reader -> XmlLang, reader -> Name);
          break;
      }       
   }           

   // Close the reader.
   reader -> Close();
}

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET, Common Language Infrastructure (CLI) Standard

参照

XmlTextReader クラス | XmlTextReader メンバ | System.Xml 名前空間