ReadValue、ReadString、ReadContentAsString、ReadElementContentAsString 区别

ReadValue、ReadString、ReadContentAsString、ReadElementContentAsString 区别

作者:vkvi 来源:千一网络(原创) 时间:2010-6-24

    XmlReader 中关于读取值的方法、属性极其的多,这里以读 String 为例介绍其区别。

    从上上级节点 从上级节点 从文本节点 “指针”移动情况
    Value 获取不到 获取不到 成功 不移动
    ReadString() 出错 成功 成功 当前节点结束节点
    ReadContentAsString() 出错 出错 成功 当前节点结束节点
    ReadElementContentAsString() 出错 成功 出错 当前节点下一个兄弟节点
    • 从上上级节点:从 Text 或 CDATA 的上级节点的上级节点读取
    • 从上级节点:从 Text 或 CDATA 的上级节点读取
    • 从文本节点:从 Text 或 CDATA 读取
    • “指针”移动情况:读取完成后移动到下一节点的情况

    举例解释

    有 XML 片段:

    <n1><n1.1>content1</n1.1><n1.2>content2</n1.2></n1>

    若当前指针是 n1:

    • Value 零长度字符串
    • ReadString() 出错
    • ReadContentAsString() 出错
    • ReadElementContentAsString() 出错

    若当前指针是 n1.1:

    • Value 零长度字符串
    • ReadString() content1
    • ReadContentAsString() 出错
    • ReadElementContentAsString() content1

    若当前指针是 content1:

    • Value content1
    • ReadString() content1
    • ReadContentAsString() content1
    • ReadElementContentAsString() 出错

    “指针”移动情况:

    • Value 不变
    • ReadString() </n1.1>
    • ReadContentAsString() </n1.1>
    • ReadElementContentAsString() <n1.2>

    你可能感兴趣的:(element)