2012-04-18 103 views
0

我创建它的配置为demo12使用和XML的服务描述here与的ServiceNow(自定义报告工具)的作品应用程序的ServiceNow XML Web服务 - 节点命名

当我提出这个要求

https://demo12.service-now.com/incident_list.do?XML&sysparm_query=opened_at%3E2012-04-17%2000:00:00%5Eopened_at%3C2012-04-18%2000:00:00%5E&sysparm_view=

响应XML我看到的不仅<incident>节点,也<u_zprototype_incidents>

XPath来获取节点名称是

distinct-values(/xml/*/name(.)) 

和结果是(用户友好格式)

<XdmValue> 
    <XdmAtomicValue>u_zprototype_incidents</XdmAtomicValue> 
    <XdmAtomicValue>incident</XdmAtomicValue> 
</XdmValue> 

不确定,如果这是它应该如何显示。

是否有任何其他方式(额外的URI参数等)来获得有效的XML(只有<incident>节点)?

我知道我可以使用/xml/*[contains(name(.),'incident')][sys_id='my GUID']来获得所需的节点。但我认为它消耗的CPU时间不仅仅是/xml/incident[sys_id='my GUID']

任何想法?

回答

3

对于什么是值得的,在demo12网站上有一些非典型的东西。不应该有默认情况下名为“u_zprototype_incidents”的父元素。自定义表已创建,扩展名为“u_zprototype_incidents”的“事件”表。

如果您想限制自己仅限于基本“事件”表中的记录,我建议您只需为“sys_class_name = incident”添加一个新过滤器。给你这个网址:

https://demo12.service-now.com/incident_list.do?XML&sysparm_query=opened_at%3E2012-04-17%2000:00:00%5Eopened_at%3C2012-04-18%2000:00:00%5E^sys_class_name=incident&sysparm_view=

...有了,你可以使用/xml/incident[sys_id='my GUID']