In Dynamics 365 portal , to read the products based on the price list using Fetchxml as below
FetchXML: fetchxml is a liquid object which will used to read the CRM records at server side
{% fetchxml products %}
<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'>
<entity name='productpricelevel'>
<attribute name='productid' />
<attribute name='uomid' />
<attribute name='pricingmethodcode' />
<attribute name='amount' />
<attribute name='productnumber' />
<attribute name='transactioncurrencyid' />
<filter type="and">
<filter type='and'>
<condition attribute='pricelevelid' operator='eq' uitype='pricelevel' value='{{priceid}}' />
</filter>
</filter>
<link-entity name='product' from='productid' to='productid' visible='false' link-type='inner' alias='pro'>
<attribute name='name' />
<attribute name='description' />
<attribute name='productnumber' />
<attribute name='productid' />
<attribute name="producttypecode" />
</link-entity>
</entity>
</fetch>
{% endfetchxml %}
{% if products.results.entities.size > 0 %}
{% for item in products.results.entities %}
{%endfor%}
{%endif%}