考虑一个带有少数名称空间的XML代码段:
<meal xmlns="urn:hl7-org:v3">
<veg id="7" />
<lunch id="123">
<veg id="990" />
</lunch>
<dinner id="324">
<veg id="111" />
</dinner>
</meal>
使用JavaScript E4X,如何明确选择第一个veg
节点的id属性?
明确包含所有名称空间也很重要。这就是我..*::
语法的原因。我意识到我在这里使用了错误的操作符。
我试过这个,不幸的是得到了所有veg节点id值:
var veg = meal..*::veg.@id.toString()
//currently gets 7990111
如何获取7
的价值?
答案 0 :(得分:1)
试试这个:
var veg = meal..*::veg[position()=1].@id.toString()
veg[position()=1]
告诉XPath你想要veg节点在第一个位置。
我刚刚完成你的初始xpath表达式。
答案 1 :(得分:1)
var veg = meal..*::veg[0].@id
。
答案 2 :(得分:1)
var meal = // xml;
var veg = meal..*::veg.@id[0];