这是我的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()
,它会让读者前进并搞砸我正在尝试做的事情。我错了吗?
答案 0 :(得分:1)
元素本身没有价值(从某种意义上说,你的意思是 - 它不能) - &#34;文本&#34;元素中的节点。
case XmlNodeType.Text:
Console.Write(reader.Value);
break;