值与XML元素匹配,然后返回所有兄弟属性值
value is match with xml element then return all there sibling attribute value.
我试图获得所有属性值,如果属性值在我的XML文件。
i am try this xpath:-
var xPath = '//*[local-name() = "dist_region" and ' +
' contains(concat(@value, ","), "' + array_top[i] + ',")]' +
'/preceding-sibling::*/@*';
但是它返回的是节点的顶部。
当输入的值是匹配的,那么它的返回值在所有属性值之上。
但是我想要所有的兄弟属性值。
这是我的ml格式:-
<products>
<product_id value="1">
<tab_id value="351">
<tab_name value="test1"/>
<region_timezone value="1"/>
<registrationstatus value="2"/>
<eventstatus value="2"/>
<dist_activity value="4"/>
<dist_activity value="10066"/>
<dist_activity value="10070"/>
<dist_region value="4909"/>
<dist_region value="4902"/>
<dist_region value="4905"/>
<dist_value value="55"/>
<dist_value value="342"/>
<dist_value value="86"/>
</tab_id>
</product_id>
<product_id value="2">
<tab_id value="351">
<tab_name value="test1"/>
<region_timezone value="1"/>
<registrationstatus value="2"/>
<eventstatus value="2"/>
<dist_activity value="4"/>
<dist_activity value="10066"/>
<dist_activity value="10070"/>
<dist_region value="4912"/>
<dist_region value="4908"/>
<dist_region value="4901"/>
<dist_value value="55"/>
<dist_value value="342"/>
<dist_value value="86"/>
</tab_id>
</product_id>
</products>
当前输出为:-
test1,1,2,2,4,10066,10070
预期输出:-
1,351,test1,1,2,2,4,10066,10070,4909,4902,4905,55,342,86
如何获得所有属性值,请解决此查询。
谢谢。
稍微改变一下xapht就可以了。
用/ancestor::product_id/descendant-or-self::*
代替/preceding-sibling::*
解释你做了什么:
'//*[local-name() = "dist_region" and contains(concat(@value, ","), "' + array_top[i] + ',")]'
您正在寻找具有属性值中给定值的dist_region。例如,元素<dist_region value="4909"/>
。
该元素的下一步是'/preceding-sibling::*/@*
它们是所有元素的所有属性值,按文档顺序排列在当前元素之前,处于同一级别。这将导致您看到的输出。
你应该怎么做:
因为你的语句预期输出:-
似乎您喜欢获取当前dist_region所属的product_id的所有属性。因此使用:
ancestor::product_id/descendant-or-self::*/@*
因为:ancestor::product_id
查找product_id 以上形式的当前元素。和下一步descendant-or-self::*/@*
找到任何深度的任何子属性。
。
一些附加命令:
我不知道你为什么用//*[local-name() = "dist_region" and ...]
//dist_region[...]/
也应该这样做。
1 351 test1 1 2 2 4 10066 10070 4909 4902 4905 55 342 86
相关文章:
- RegEx删除空属性?例如,如果(class=“”||class=“”)移除;否则就下课
- 全局变量和全局对象的属性之间有什么区别吗
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 如何在Bootstrap Modal中为动态点击生成的变量设置jade属性
- 序列化数据属性中对象的最可靠方法
- 分析高度属性时出现意外值{{specs.height}}.index.html
- TypeError:无法读取属性'推'未定义的JavaScript
- 同样,同样的错误'ahorcado.js:26未捕获类型错误:无法读取属性'beginPath'
- AngularJS-使用'true'属性
- 可以't使用JavaScript获取width属性
- 未捕获的TypeError无法读取未定义的属性socialsharing
- 如何使用javascript获取嵌套对象中所有子对象的单个属性
- JavaScript Pub/Sub属性访问问题
- 如何在淘汰模型迭代中访问数组中的兄弟属性
- 值与XML元素匹配,然后返回所有兄弟属性值
- 如何获得链接的href属性,并将其设置为下一个兄弟使用jquery的href
- 如何加载兄弟和子属性值
- 使用& # 39;订单# 39;属性在兄弟之间定位伸缩项
- 在兄弟对象的现有属性的基础上,将新属性添加到javascript对象中
- 具有相同属性值的兄弟