我有如下地图xml。我可以使用XPath检索一个值,但我可以检索对象吗?例如,如果我说/ list / *,我想要恢复Map对象。是否可以作为对象进行检索。
<list>
<map>
<val name="obj_type">USER</val>
<val name="ret_name">user</val>
<list name="attributes">
<map>
<val name="obj_type">USER_ID</val>
<val name="ret_name">userID</val>
</map>
<map>
<val name="obj_type">
USER_UsernamePasswordCredential
</val>
<list name="attributes">
<map>
<val name="obj_type">UNP_Username</val>
<val name="ret_name">UserName</val>
</map>
<map>
<val name="obj_type">UNP_Password</val>
<val name="ret_name">Password</val>
</map>
</list>
</map>
</list>
</map>
</list>
答案 0 :(得分:1)
来自http://www.w3.org/TR/xpath/#section-Introduction
评估表达式以产生一个 对象,具有以下之一 四种基本类型:
- node-set(没有重复的无序节点集合)
- 布尔值(true或false)
- 数字(浮点数)
- string(一系列UCS字符)
这四种基本类型(以及有关更新,顺序和完整性的其他类型)由标准DOM XPath API映射。来自http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult
定义组 XPathResultType
一个整数,表示这是什么类型的结果。
如果指定了特定的
type
, 然后结果将返回为 相应的类型,在需要时使用XPath type conversions 并且可能。定义的常量
BOOLEAN_TYPE
结果是[XPath 1.0]定义的布尔值。 文件修改没有 使布尔值无效,但可以 意味着重新评估不会 产生相同的布尔值。NUMBER_TYPE
结果是[XPath 1.0]定义的数字。 文件修改没有 使数字无效,但可能意味着 重新评估不会产生 相同的数字。STRING_TYPE
结果是[XPath 1.0]定义的字符串。 文件修改没有 使字符串无效,但可能意味着 那个字符串不再 对应当前 文档。UNORDERED_NODE_SNAPSHOT_TYPE
结果是按照定义的节点集 [XPath 1.0]将被访问为 可能不是的节点的快照列表 按特定顺序排列。文献 修改不会使 快照,但可能意味着 重新评估不会产生相同的结果 快照中的快照和节点 可能已被改变,移动或 从文件中删除。
答案 1 :(得分:0)
如果将数据绑定到对象实例,它只是一个对象。也许你的意思是一个XML元素?无论如何,它取决于您的编程语言。
答案 2 :(得分:0)