如何引用不在引号中的XML数据?

时间:2012-06-21 02:12:13

标签: xml

我对这整个XML的东西都很陌生。对不起,如果我的术语不正确。我试图从提供的代码中引用以下数据。

210来自“卡路里”

35来自“卡路里来自肥胖”

3.5g来自“总脂肪”

0.5g来自“饱和脂肪”

我找到了如何访问引号中的数据,但我不知道哪个脚本会获取>之间的信息。 <

<Nutrients>
  <Nutrient name="Calories" UOM="kcal" 
            allowanceRate="" 
            allowanceStandard="N/A" 
            unroundedValue="214.8893805500001">210</Nutrient>

  <Nutrient name="Calories from Fat" UOM="kcal" 
            allowanceRate="" 
            allowanceStandard="N/A" 
            unroundedValue="33.2709996060006">35</Nutrient>

  <Nutrient name="Total Fat" UOM="g" 
            allowanceRate="6%" 
            allowanceStandard="DV" 
            unroundedValue="3.6967777340001">3.5 g</Nutrient>

  <Nutrient name="Saturated Fat" UOM="g" 
            allowanceRate="3%" 
            allowanceStandard="DV" 
            unroundedValue="0.6293593995000">0.5 g</Nutrient>
</Nutrients>

1 个答案:

答案 0 :(得分:0)

无论您使用何种编程环境,都很有可能允许您使用XPath检索数据。使用XPath,以下表达式将获得您想要的结果:

string(/Nutrients/Nutrient[@name=$name])

其中$ name是从您的调用API提供的参数。某些API不允许您设置参数,在这种情况下,您需要通过字符串连接来构造表达式,例如

string(/Nutrients/Nutrient[@name='Calories'])

(如果你这样做的话要小心,以防止代码注入的风险,这适用于XPath,就像对SQL一样)。