XmlNodeReader.HasValue 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取一个值,该值指示当前节点是否可以具有 Value。
public:
virtual property bool HasValue { bool get(); };
public override bool HasValue { get; }
member this.HasValue : bool
Public Overrides ReadOnly Property HasValue As Boolean
属性值
如果读取器当前定位在的节点可以具有 Value
,则为 true
;否则为 false
。
示例
以下示例显示可以具有 值的每个节点的值。
#using <System.Xml.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
XmlNodeReader^ reader = nullptr;
try
{
// Create and load an XmlDocument.
XmlDocument^ doc = gcnew XmlDocument;
doc->LoadXml( "<?xml version='1.0' ?>"
"<!DOCTYPE book [<!ENTITY h 'hardcover'>]>"
"<book>"
"<title>Pride And Prejudice</title>"
"<misc>&h;</misc>"
"</book>" );
reader = gcnew XmlNodeReader( doc );
// Parse the file and display each node.
while ( reader->Read() )
{
if ( reader->HasValue )
Console::WriteLine( "({0}) {1}={2}", reader->NodeType, reader->Name, reader->Value );
else
Console::WriteLine( "({0}) {1}", reader->NodeType, reader->Name );
}
}
finally
{
if ( reader != nullptr )
reader->Close();
}
}
using System;
using System.IO;
using System.Xml;
public class Sample {
public static void Main() {
XmlNodeReader reader = null;
try {
// Create and load an XmlDocument.
XmlDocument doc = new XmlDocument();
doc.LoadXml("<?xml version='1.0' ?>" +
"<!DOCTYPE book [<!ENTITY h 'hardcover'>]>" +
"<book>" +
"<title>Pride And Prejudice</title>" +
"<misc>&h;</misc>" +
"</book>");
reader = new XmlNodeReader(doc);
// Parse the file and display each node.
while (reader.Read()) {
if (reader.HasValue)
Console.WriteLine("({0}) {1}={2}", reader.NodeType, reader.Name, reader.Value);
else
Console.WriteLine("({0}) {1}", reader.NodeType, reader.Name);
}
}
finally {
if (reader!=null)
reader.Close();
}
}
} // End class
Option Explicit
Option Strict
Imports System.IO
Imports System.Xml
Public Class Sample
Public Shared Sub Main()
Dim reader As XmlNodeReader = Nothing
Try
'Create and load an XmlDocument.
Dim doc As New XmlDocument()
doc.LoadXml("<?xml version='1.0' ?>" & _
"<!DOCTYPE book [<!ENTITY h 'hardcover'>]>" & _
"<book>" & _
"<title>Pride And Prejudice</title>" & _
"<misc>&h;</misc>" & _
"</book>")
reader = New XmlNodeReader(doc)
'Parse the file and display each node.
While reader.Read()
If reader.HasValue Then
Console.WriteLine("({0}) {1}={2}", reader.NodeType, reader.Name, reader.Value)
Else
Console.WriteLine("({0}) {1}", reader.NodeType, reader.Name)
End If
End While
Finally
If Not (reader Is Nothing) Then
reader.Close()
End If
End Try
End Sub
End Class
注解
注意
在 .NET Framework 2.0 中,建议的做法是使用 XmlReaderSettings 类和 Create 方法创建XmlReader实例。 这使你可以充分利用.NET Framework中引入的所有新功能。 有关详细信息,请参阅参考页中的 XmlReader “备注”部分。
下表列出具有要返回的值的节点类型。
节点类型 | “值” |
---|---|
Attribute |
属性的值。 |
CDATA |
CDATA 节的内容。 |
Comment |
注释的内容。 |
DocumentType |
内部子集。 |
ProcessingInstruction |
全部内容(不包括指令目标)。 |
SignificantWhitespace |
混合内容模型中标记之间的空白。 |
Text |
文本节点的内容。 |
Whitespace |
标记之间的空白。 |
XmlDeclaration |
声明的内容。 |