【问题标题】:Custom Serialization/De-serialization Issue自定义序列化/反序列化问题
【发布时间】:2011-05-13 01:24:59
【问题描述】:

给定这个 XML 元素:

<SampleA>0</SampleA>

为什么reader.HasValue 在元素明显具有值(“0”)时解析为 false?

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

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

【问题讨论】:

    标签: c# xml-serialization xml-deserialization


    【解决方案1】:

    这可能是因为您的阅读器位于另一个节点上。

    你不妨试试:

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

    【讨论】:

    • 谢谢,LocalName 和 Name 有什么区别?我看到一个是合格的,另一个是本地名称,这些到底是什么意思?
    • AFAIK QualifiedName 包括命名空间(前缀:LocalName),而 LocalName 只是名称。希望这会有所帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-10
    • 1970-01-01
    • 2010-11-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多