使用 XmlReader 时,属性返回 False!为什么
本文关键字:False 为什么 返回 属性 XmlReader 使用 | 更新日期: 2023-09-27 18:36:42
这是我的XML文件...
<application>
<name>My Application</name>
<ou/>
<area/>
<created time="na"/>
<id closed="no"/>
<description>My App Description</description>
<version type="beta">1.0</version>
<modified>02/24/2016</modified>
<files>
<file>
<name>my_app.exe</name>
<size type="bytes" complete="yes" updated="no">225684</size>
<description>Main GUI for Application.</description>
<version>1.5</version>
<modified>02/24/2016</modified>
</file>
<file>
<name>testfile.dll</name>
<size type="bytes" complete="yes" updated="no">1024</size>
<description>Support DLL for Application.</description>
<version>1.1</version>
<modified>02/23/2016</modified>
</file>
</files>
</application>
我用它来读取我的XML文件...
using (XmlReader reader = XmlReader.Create("my_xml_file.xml"))
{
while (!reader.EOF)
{
switch (reader.NodeType)
{
case XmlNodeType.Element:
if (reader.HasValue)
Debug.WriteLine("Node Value:" + reader.ReadString());
break;
}
}
}
我不知道为什么,但由于某种原因,我的reader.HasValue
财产总是FALSE
。 我认为当该节点上有值时,该属性应该TRUE
。如果我每次都打电话给reader.ReadString()
,它会让读者进步并搞砸我想要做的事情。 我错了吗?
元素本身没有值(在你的意思中 - 它不能) - 元素中的"文本"节点有。
case XmlNodeType.Text:
Console.Write(reader.Value);
break;