xml 取值问题 SelectSingleNode函数贴出来看看,用的xpath?一般用getElementsByTagName获取节点来遍历兼容性好点 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 网上找的 function SelectSingleNode(xmlDoc, elementPath) { if (window.ActiveXObject) { return xmlDoc.selectSingleNode(elementPath); } else { try { var xpe = new XPathEvaluator(); var nsResolver = xpe.createNSResolver(xmlDoc.ownerDocument == null ? xmlDoc.documentElement : xmlDoc.ownerDocument.documentElement); var results = xpe.evaluate(elementPath, xmlDoc, nsResolver, XPathResult.FIRST_ORDERED_NODE_TYPE, null); var s = results.singleNodeValue; return results.singleNodeValue; } catch (e) { alert(e.message); } } } document.getElementsByName("ldelpos")能取到所有的“删除”按钮所在的td列,但是这不是想要的。因为它没有过滤。我需要过滤得到被删除那行的tmpid,然后设置xml里的editmode属性,后台根据那个属性删除还是更新,document.getElementsById也是一样的道理 function getNode(doc, tmpid) { var row = doc.getElementsByTagName('z:row'); for (var i = 0, j = row.length; i < j; i++) { if (row[i].getAttribute('tmpid') == tmpid) return row[i]; } return null; } var node = getNode(xmldoc,'3');xpath不怎么会,用你的代码在ie,firefox下测试都报错了,说namespace出错什么的。。用getElementsByTagName遍历下,非IE浏览器下xpath执行效率看别人说是不怎么样。。还不如遍历 这是我的namespace:<xml xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema">SelectSingleNode在火狐,谷歌下都有可以的,IE没测试。你那个方法应该空调吧,我用node.childNodes.item(index)方法取单行,加上JQ选择器取多行。暂时凑合用吧,你的方法应该和我的思路差不多 请问,CSDN论坛“引用”某楼层的文字是怎么实现的 jquery scrollTop offset().top 求写一个xpath 请问怎么用JS网址转发,直接给代码可以吗?先谢了!! JavaScript 父控件和子控件的onclick的问题。 噩梦,js在ie正常,在firefox下不正常 请教一个字段数据写入下拉组件的问题 那儿有DOM资料下载? 页面加载事件 html5+javascript做的一个登陆滑动验证,pc端能滑动,为啥手机端不行?求大神指教啊! js语法问题,大神请进 不同的jquery显示效果差别怎么就这么大呢
function SelectSingleNode(xmlDoc, elementPath) {
if (window.ActiveXObject) {
return xmlDoc.selectSingleNode(elementPath);
}
else {
try {
var xpe = new XPathEvaluator();
var nsResolver = xpe.createNSResolver(xmlDoc.ownerDocument == null ? xmlDoc.documentElement : xmlDoc.ownerDocument.documentElement);
var results = xpe.evaluate(elementPath, xmlDoc, nsResolver, XPathResult.FIRST_ORDERED_NODE_TYPE, null);
var s = results.singleNodeValue;
return results.singleNodeValue;
}
catch (e) {
alert(e.message);
}
}
}
var row = doc.getElementsByTagName('z:row');
for (var i = 0, j = row.length; i < j; i++) {
if (row[i].getAttribute('tmpid') == tmpid) return row[i];
}
return null;
} var node = getNode(xmldoc,'3');
xpath不怎么会,用你的代码在ie,firefox下测试都报错了,说namespace出错什么的。。用getElementsByTagName遍历下,非IE浏览器下xpath执行效率看别人说是不怎么样。。还不如遍历
你那个方法应该空调吧,我用node.childNodes.item(index)方法取单行,加上JQ选择器取多行。
暂时凑合用吧,你的方法应该和我的思路差不多