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 中已過時。 您可以使用 類別和 Create 方法建立驗證 XmlReader 實例 XmlReaderSettings 。 如需詳細資訊,請參閱 XmlReader 參考頁面的<備註>一節。
如果位於元素上, ReadString
請將所有文字、重大空白字元、空白字元和 CDATA 區段節點類型串連在一起,並傳回串連的資料做為元素內容。 當遇到任何標記時,讀取器會停止,包括批註和處理指示。 這可能會發生於混合內容模型中,或是讀取項目結束標記時。
如果位於文位元組點上, ReadString
則從文位元組點到專案結束標記執行相同的串連。 如果讀取器定位於屬性文字節點上,則 ReadString
具有相同的功能,就像讀取器定位於項目開始標記上一樣。 它會傳回所有串連的項目文字節點。
屬性 EntityHandling 會決定運作方式 ReadString
,如下所示:
值 | 描述 |
---|---|
ExpandEntities | 傳回展開的字元和一般實體。 此為預設值。 |
ExpandCharEntities | 傳回最多但不包含一般實體參考的文字內容。 這表示一般實體會導致 ReadString 停止。 您必須呼叫 以逐步執行 Read 實體參考。 |