0

I'm creating an app that works with ServiceNow (custom reporting tool)

It's configured to use demo12 and XML service described here.

When i made this request

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=

in response XML i see not only <incident> nodes, but also <u_zprototype_incidents>

XPath to get node names is

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

and result is (user-friendly formatted)

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

not sure, if this is how it should be displayed.

Is there any other way (extra URI param, etc.) to get valid XML (only <incident> nodes) ?

I know that i can use /xml/*[contains(name(.),'incident')][sys_id='my GUID'] to get needed nodes. but i think it consume more CPU time than just /xml/incident[sys_id='my GUID'].

Any ideas?

4

1 に答える 1

3

それだけの価値はありますが、その demo12 サイトには異例の何かがあります。デフォルトでは、「u_zprototype_incidents」という名前の親要素は存在しないはずです。カスタム テーブルが作成され、「u_zprototype_incidents」という名前の「インシデント」テーブルが拡張されました。

ベースの "incident" テーブルのレコードのみに限定したい場合は、単に "sys_class_name=incident" 用の新しいフィルターを追加することをお勧めします。この URL を提供します。

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=インシデント&sysparm_view=

...それで使用できます/xml/incident[sys_id='my GUID']

于 2012-05-13T02:22:11.667 に答える