通过jquery从xml文件打印一个值

通过jquery从xml文件打印一个值,jquery,xml,Jquery,Xml,我有一个xml文件调用产品 <?xml version="1.0" encoding="UTF-8"?> <ProductsRoot> <Products> <ProductID>1</ProductID> <ProductName>Chai</ProductName> <CategoryID>1</CategoryID>

我有一个xml文件调用产品

<?xml version="1.0" encoding="UTF-8"?>
<ProductsRoot>
    <Products>
        <ProductID>1</ProductID>
        <ProductName>Chai</ProductName>
        <CategoryID>1</CategoryID>
        <QuantityPerUnit>10 boxes x 20 bags</QuantityPerUnit>
        <UnitPrice>18</UnitPrice>
    </Products>
    <Products>
        <ProductID>2</ProductID>
        <ProductName>Chang</ProductName>
        <CategoryID>1</CategoryID>
        <QuantityPerUnit>24 - 12 oz bottles</QuantityPerUnit>
        <UnitPrice>19</UnitPrice>
    </Products>
    <Products>
        <ProductID>3</ProductID>
        <ProductName>Aniseed Syrup</ProductName>
        <CategoryID>2</CategoryID>
        <QuantityPerUnit>12 - 550 ml bottles</QuantityPerUnit>
        <UnitPrice>10</UnitPrice>
    </Products>         
 </ProductsRoot>
使用$.filter:


或者只是像这样的函数:

findUnitPrice = function(productName){
$(xmlDoc).find('Products').each(function(i,j)
{    
    if($(j).find('ProductName').html() == productName)
    {
        alert($(j).find('UnitPrice').html());
        return false;
    }
});
}
findUnitPrice('Chang');

Working fiddle:在每次迭代中检查ProductName==Chang是否有效的常规循环难道不是一个有效的选项吗?实际上,我创建了一个所有产品的列表,我正在为每个产品添加一个单击功能,我想要为每个产品添加一个解决方案…为每个产品添加一个单击功能-当你单击什么?这是xml,它没有可点击的概念。
var price = $(products)
    .find("Products")
    .filter(function() {
        return $(this).find("ProductName").text() == 'Chang';
    })
    .find("UnitPrice").text();
findUnitPrice = function(productName){
$(xmlDoc).find('Products').each(function(i,j)
{    
    if($(j).find('ProductName').html() == productName)
    {
        alert($(j).find('UnitPrice').html());
        return false;
    }
});
}
findUnitPrice('Chang');