我目前正在尝试使用 xml 字符串中的参数向 eBay 购物 API 发出 URL 请求。
当涉及到使用基本 xml 元素的属性创建 url 时,我可以通过使用 & 符号附加它们来指定 url 参数。
例如:
以下 xml:
<?xml version="1.0" encoding="utf-8"?>
<FindProductsRequest xmlns="urn:ebay:apis:eBLBaseComponents">
<QueryKeywords>Harry Potter</QueryKeywords>
<MaxEntries>2</MaxEntries>
<AvailableItemsOnly>true</AvailableItemsOnly>
</FindProductsRequest>
成为这个url请求,我通过简单地指定&符号,后跟元素名称,后跟=符号和来自xml的值来实现这一点。结果是:
http://open.api.ebay.com/shopping?
QueryKeywords=harry%20potter&
AvailableItemsOnly=true&
MaxEntries=2**
但是,当 xml 变得更加复杂时,例如当 xml 元素指定属性(如以下 xml 元素)时:
<ProductID type="UPC">73292317238</ProductID>
我不知道如何将 type 属性包含到 url 中。
我尝试过的:
我尝试像这样在 url 中指定 type 属性
&type=UPC
但是,ebays 系统不会识别出 type 属性属于 ProductID 元素。
我也尝试过将原始 xml 插入到 URL 中,但这只是搞乱了整个请求。
总之,我想弄清楚如何将包含属性和值的 xml 元素编码到 url 参数中?
如果问题不清楚,请指定要修复的部分。我已尝试遵循“提出一个好问题”指南,并且很乐意修复任何需要改进的部分。
最佳答案
Xml 和 URL 参数之间的转换通常不会定义,而是由 API 供应商(在本例中为 eBay)定义。
据我所知,此 URL 应该适用于 eBay Shopping api:
http://....&ProductID.Type=UPC&ProductID.Value=73292317238
一般提示:通过在按关键字搜索时将 &responseencoding=NV
添加到请求中,您将获得 URL 格式的结果,并且可以看到您的请求必须是什么样子才能找到相同的产品直接。
关于xml - 如何在 eBay Shopping API 中的 URL 请求中指定 ProductID 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47245222/