使用在文本框中输入的子attr获取XML元素attr值
geting xml element attr value using child attr entered in textbox
这是我的XML文件:-
<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="5,10068,10070" />
<reg_str_dt value="2013-01-14 20:35:00" />
<reg_end_dt value="2013-01-14 20:35:00" />
</tab_id>
</product_id>
<product_id value="2">
<tab_id value="352">
<tab_name value="test2" />
<region_timezone value="1" />
<registrationstatus value="2" />
<eventstatus value="2" />
<dist_activity value="5,10069,10070" />
<reg_str_dt value="2013-02-14 20:39:00" />
<reg_end_dt value="2013-02-14 20:39:00" />
</tab_id>
</product_id>
</products>
this is Function:-
function get_list(){
xmlDoc = $.parseXML( xml ),
$xml = $( xmlDoc ),
$title = $xml.find('[value="'+$('#select').val()+'"] *');
var str='';
$title.each(function(){
str+=$(this).attr('value')+' ';
});
$("#result").html(str);
}
这是Html代码:-
<input type="text" id="select">
<input type="button" name="button" value="Search" onclick="get_list()" >
<div id="result">
</div>
这里有一个文本框
在文本框中输入xml文件的任意子attr值例如:-
first text box:- Dist_activity(tag name)
second textbox:- 5(attr value)
,然后点击按钮,它搜索并显示第一个元素值EG:-
in div "Result":- 1(is product_id value)
在这里可以使用xpath和xquery,然后对我来说最好的其他也是。谢谢…
这样如何:
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script>
var xml;
$.get(
"SOXml_Converted.xml",
null,
function (data) {
xml = data;
},
"xml"
);
function get_list() {
var elName = $('#select').val();
var value = $('#value').val();
var xPath = '//*[local-name() = "' + elName + '" and ' +
' contains(concat(@value, ","), "' + 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="Search" onclick="get_list()">
<div id="result">
</div>
</body>
</html>
当然,这不会定位值为"Dist_activity"answers"5"的任何内容,因为没有名称为"Dist_activity"的元素,甚至没有值为5的dist_activity
元素。
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script>
var xml;
$.get(
"xml_converted.xml",
function(data) { xml=data; },
"html"
);
function get_list(){
var xPath = '//*[local-name() = "' + $('#select').val() + '" and @value = "' +
$('#value').val() + '"]/..';
var iterator = document.evaluate(xPath, documentNode, null,
XPathResult.UNORDERED_NODE_ITERATOR_TYPE, null );
var thisNode = iterator.iterateNext();
var str = '';
while (thisNode) {
str += thisNode.textContent ;
thisNode = iterator.iterateNext();
}
$("#result").html(str);
}
</script>
</head>
<input type="text" id="select">
<input type="text" id="value">
<input type="button" name="button" value="Search" onclick="get_list()" >
<div id="result">
</div>
</html>
相关文章:
- 获取一个javascript对象attr's
- 从每个父对象获取attr,并为每个子对象设置attr
- 表单操作值未从attr()函数中获取
- 获取点击按钮的值/attr作为event.data,带有.on(“点击”…)
- 使用jQuery.attr()方法获取元素属性
- jQuery设置attr,然后获取attr
- 是否可以从foreach循环中获取attr值
- 获取 attr ID 并在 jQuery 中的 IF/ELSE 中使用
- 如何获取多个 jquery attr 值
- 在挖空JS中从ATTR调用模型函数以获取动态属性
- 获取数据 attr jquery 的更新值
- J查询如何获取 attr 标签值
- 从 .attr 获取变量名称
- jQuery 无法获取 attr 值
- 使用最接近的.attr获取错误的tr id
- 无法使用Jquery$().attr获取循环出的PHP变量的attr
- 对象没有'spilt'从attr()获取值后
- 使用在文本框中输入的子attr获取XML元素attr值
- 使用attr()获取背景图像url
- jquery:通过attr获取按钮的值