XPath的语法不熟悉,好像这样写是不对的。

解决方案 »

  1.   

    如果是查找属性名
    这样写就行
    node.selectNodes("//@*[name(),'aaa')]") 
    但现在是要查属性值,所以请教一下
      

  2.   

    //*[@*='aaa'] 获得所有属性值是aaa的节点
    //*[@aaa]     获得所有属性名称是aaa的节点另外如果你要包含功能的话
    请参考XPath函数
    http://www.w3school.com.cn/xpath/xpath_functions.asp
      

  3.   

    //@*[starts-with(text(),'aaa')] 
    这样不行
      

  4.   

    如果要包含得这样
    //*[starts-with(@*,'aaa')]
      

  5.   

    其实这个问题是这样的,因为要遍历属性所以
    希望是这样的方式(xpath可以选择属性结点)
    //@*[starts-with(text(),'aaa')] 
    这句当中,如果把text()改成name()的话,能找到所有名称以aaa开始的所有属性结点只要selectNodes("//@*[starts-with(name(),'aaa')] ")
    就能取出属性结点数组了//*[starts-with(@*,'aaa')],这种方式匹配是对的,却不能取出想要的东西
      

  6.   

    为什么只要属性不要节点呢??
    得到了节点再拿属性不是一样么?
    我那个XPath是得到节点
    得到了节点想干什么都可以了如果你只想要属性的话,不能用text,用.就可以了//@*[starts-with(.,'aaa')]
      

  7.   


    因为拿到结点后还是不知道拿哪个属性后面这个回答正是我要的,感谢ing~