XmlValidatingReader.ReadString メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
要素ノードまたはテキスト ノードの内容を文字列として読み取ります。
public:
override System::String ^ ReadString();
public override string ReadString ();
override this.ReadString : unit -> string
Public Overrides Function ReadString () As String
戻り値
要素ノードまたはテキスト ノードの内容。 要素ノードまたはテキスト ノード以外にリーダーが配置されている場合、または返す対象となるテキスト コンテンツが現在のコンテキスト内にこれ以上ない場合は、これが空の文字列になる場合があります。
例
次の使用例は、各要素のテキスト コンテンツを表示します。
#using <System.Xml.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
XmlTextReader^ txtreader = nullptr;
XmlValidatingReader^ reader = nullptr;
try
{
//Implement the readers.
txtreader = gcnew XmlTextReader( "elems.xml" );
reader = gcnew XmlValidatingReader( txtreader );
//Parse the XML and display the text content of each of the elements.
while ( reader->Read() )
{
if ( reader->IsStartElement() )
{
if ( reader->IsEmptyElement )
Console::WriteLine( "<{0}/>", reader->Name );
else
{
Console::Write( "<{0}> ", reader->Name );
reader->Read(); //Read the start tag.
if ( reader->IsStartElement() )
//Handle nested elements.
Console::Write( "\r\n<{0}>", reader->Name );
Console::WriteLine( reader->ReadString() ); //Read the text content of the element.
}
}
}
}
finally
{
if ( reader != nullptr )
reader->Close();
}
}
using System;
using System.IO;
using System.Xml;
public class Sample
{
public static void Main()
{
XmlTextReader txtreader = null;
XmlValidatingReader reader = null;
try
{
//Implement the readers.
txtreader = new XmlTextReader("elems.xml");
reader = new XmlValidatingReader(txtreader);
//Parse the XML and display the text content of each of the elements.
while (reader.Read()){
if (reader.IsStartElement()){
if (reader.IsEmptyElement)
{
Console.WriteLine("<{0}/>", reader.Name);
}
else
{
Console.Write("<{0}> ", reader.Name);
reader.Read(); //Read the start tag.
if (reader.IsStartElement()) //Handle nested elements.
Console.Write("\r\n<{0}>", reader.Name);
Console.WriteLine(reader.ReadString()); //Read the text content of the element.
}
}
}
}
finally
{
if (reader != null)
reader.Close();
}
}
} // End class
Imports System.IO
Imports System.Xml
Public Class Sample
Public Shared Sub Main()
Dim txtreader As XmlTextReader = Nothing
Dim reader As XmlValidatingReader = Nothing
Try
'Implement the readers.
txtreader = New XmlTextReader("elems.xml")
reader = New XmlValidatingReader(txtreader)
'Parse the XML and display the text content of each of the elements.
While reader.Read()
If reader.IsStartElement() Then
If reader.IsEmptyElement Then
Console.WriteLine("<{0}/>", reader.Name)
Else
Console.Write("<{0}> ", reader.Name)
reader.Read() 'Read the start tag.
If (reader.IsStartElement()) 'Handle nested elements.
Console.WriteLine()
Console.Write("<{0}>", reader.Name)
End If
Console.WriteLine(reader.ReadString()) 'Read the text content of the element.
End If
End If
End While
Finally
If Not (reader Is Nothing) Then
reader.Close()
End If
End Try
End Sub
End Class
この例では、 elems.xml
ファイルを入力として使用します。
<book>
<title>Pride And Prejudice</title>
<price>19.95</price>
<misc/>
</book>
注釈
テキスト ノードは、要素ノードまたは属性ノードのいずれかにできます。
注意
このクラスはXmlValidatingReader、.NET Framework 2.0 では廃止されています。 クラスとメソッドを使用してXmlReaderSettings、検証XmlReaderインスタンスをCreate作成できます。 詳細については、XmlReader のリファレンス ページの「解説」を参照してください。
要素に配置されている場合は、すべてのテキスト、 ReadString
重要な空白、空白、および CDATA セクションノードタイプを連結し、連結されたデータを要素コンテンツとして返します。 コメントや処理命令など、マークアップが検出されると、リーダーは停止します。 これは混合コンテンツ モデル内で、または要素の終了タグが読み込まれると発生します。
テキスト ノード上に配置されている場合は、 ReadString
テキスト ノードから要素の終了タグへの同じ連結を実行します。 リーダーが属性のテキスト ノード上にある場合、ReadString
は、あたかもリーダーが要素の開始タグ上にあるのと同様に機能します。 連結されたすべての要素テキスト ノードが返されます。
このプロパティは EntityHandling 、次のように動作する方法 ReadString
を決定します。
[値] | 説明 |
---|---|
ExpandEntities | 展開された文字と一般的なエンティティを返します。 既定値です。 |
ExpandCharEntities | 一般的なエンティティ参照を含まないテキスト コンテンツを返します。 これは、一般的なエンティティによって ReadString が停止することを意味します。 エンティティ参照のステップ オーバーを呼び出 Read す必要があります。 |