2011-05-13 56 views
0

鉴于这种XML元素:自定义序列化/反序列化问题

<SampleA>0</SampleA> 

为什么reader.HasValue解析为假时,该元素显然有一个值(“0”)?

if (reader.HasValue) 
    this.SampleA = Int32.Parse(reader.ReadElementString("SampleA")); 

这是检查上述目的的正确属性吗?

回答

1

这可能是因为您的读者在另一个节点上。

您可能也想尝试:

if(reader.MoveToContent() == XmlNodeType.Element && reader.LocalName == "SampleA") { 
    } 
+0

谢谢你,是什么的localName和姓名之间的区别?我看到一个是合格的,另一个是本地名称,这些是什么意思? – TheWolf 2011-05-13 01:42:13

+1

AFAIK QualifiedName包含名称空间(前缀:LocalName),而LocalName只是名称。希望这可以帮助。 – YetAnotherUser 2011-05-13 01:50:19