1
我对xquery完全陌生,我遇到问题,无法从我的xml代码中获取正确的东西。使用xquery进行查询处理
这里是我的xml文件的样本,我的工作就:
<root>
<name id = "a">
<first> Mary </first>
<last> Britton </last>
<company> ABC </company>
<phone> 203-942-0485 </phone>
</name>
<paper pid = "b">
<pname> Hello </pname>
<author> a </author>
</paper>
<publish>
<pbid> b </pbid>
<location>
<place> new york </place>
<sales> 100 </sales>
</location>
<location>
<place> los angeles </place>
<sales> 200 </sales>
</location>
</publish>
我试图让笔者所在的公司和电话号码,对于那些谁已经在纽约出版与至少50个销售。
现在,我只能得到位置信息,甚至没有发布信息。有关如何思考这个问题的任何提示或帮助?提前致谢!
非常感谢!我还有一个问题,你可以在xpath中排序吗?我知道你可以通过xquery来完成订单。例如,如果我想根据发布中的pbid对结果进行排序,我应该怎么做?谢谢! –
@CathyClaires,不,你不能在XPath中排序(除非在初始评估上下文中提供了一个可用于排序的函数)。如果你想使用XQuery,那么你可以使用'order by'子句。 –
@CathyClaires,像这样的XQuery:'为$ X在 \t \t \t/* /名称[以$ AUID在@id, \t \t \t \t $ P在/ * /文[作者EQ $ AUID], $ p中\t \t \t \t $ PID/@ PID \t \t \t \t返回 \t \t \t \t总和(/ * /发布[pbid [1]当量$ PID] \t \t \t \t /位置[地方当量 '纽约'] \t \t \t \t /销售 \t \t \t \t) \t \t \t \t GE 50 \t \t \t] 为了通过(对于在$ @id AUID, $ p in/*/paper [author eq $ auid] \t \t \t \t return \t \t \t \t $ p/@ pid ) return $ x /(company |电话)' –