这是xml文件(demo.xml): -
<products>
<product_id value="1">
<tab_id value="351">
<tab_name value="test1"/>
<dist_map value="5"/>
</tab_id>
</product_id>
<product_id value="2">
<tab_id value="352">
<tab_name value="test2"/>
<dist_map value="3"/>
</tab_id>
</product_id>
</products>
这是代码: -
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script>
var xml;
$.get(
"demo.xml",
null,
function (data) {
xml = data;
},
"xml"
);
function get_node(ls)
{
var elName = $('#select').val();
var value = $('#value').val();
var xPath = '//*[(text() = '+elName+') or @value '+ ls +' '+value+']'+'/../../@value';
var iterator = xml.evaluate(xPath, xml.documentElement, null,
XPathResult.UNORDERED_NODE_ITERATOR_TYPE, null);
var thisNode = iterator.iterateNext();
var str = '';
while (thisNode) {
if (str) {
str += ', ';
}
str += thisNode.textContent;
thisNode = iterator.iterateNext();
}
$("#result").text(str);
}
</script>
</head>
<body>
<input type="text" id="select">
<input type="text" id="value">
<input type="button" name="button" value="Less than" onclick="get_node('<')"></input>
<input type="button" name="button" value="Grater than" onclick="get_node('>')"></input>
<input type="button" name="button" value="Equal" onclick="get_node('=')"></input>
<div id="result">
</div>
</body>
</html>
我正在使用这个xpath: -
var xPath = '//*[(text() = '+elName+') or @value '+ ls +' '+value+']'+'/../../@value';
借助此代码......工作正常
如果我在第一个文本框中输入dist_map
和
在第二个文本框中有attibute值
根据操作员给出的因果o / p,因为我需要...
但如果我的xml看起来像这样: -
<products>
<product_id value="1">
<tab_id value="351">
<tab_name value="test1"/>
<dist_map value="5,8,9"/>
</tab_id>
</product_id>
<product_id value="2">
<tab_id value="352">
<tab_name value="test2"/>
<dist_map value="3,7,9"/>
</tab_id>
</product_id>
</products>
在这个xml文件中
我有多个属性值dist_map
,如3,8,9
为此设置了什么xpath
如果我输入了它们的任何一个值,那么它的工作就像我工作的那样......
感谢...