zoukankan      html  css  js  c++  java
  • 自己写个XPATH(1)

    text(root/vrs/vr)	//123
    text(root/vrs/vr[vr.psn=343]) //1233
    text(root/vrs/vr[vr.psn=abc&&vr.lsn=dd]) //123
    text(root/vrs/vr[vr.psn=abc&&vr.lsn=dd]) //123
    text(root/t[t.id=2]/tag3) //4343
    text(root/t[t.id=1]/tag3[tag.ti=5]) //abcdefg
    text(root/t[t.id=1]/tag3[tag.ti=4&&tag2=2]) //4343
    attr(root/vrs/vr.lsn[vr.psn=abc]) //dd
    attr(root/vrs/vr.lsn[vr.psn=abc]) = newvalue //属性值设置成新值
    text(root/t[t.id=1]/tag3[tag.ti=4&&tag2=2]) = newvalue //文本设置成新值
    <root>
    <vrs>
    <vr psn='abc' lsn='dd'>
    123
    </vr>
    <vr psn='343'>
    1233
    </vr>
    <vr psn='abc'>
    1gdfds
    </vr>
    </vrs>
    <t id=2>
    <tag ti=4>1</tag>
    <tag2>2</tag2>
    <tag3>4343</tag3>
    </t>
    <t id=1>
    <tag ti=5>1</tag>
    <tag2>2</tag2>
    <tag3>abcdefg</tag3>
    </t>
    </root>

    这是设计^ ^ 不知道有没有BUG

    1 []里的肯定是条件表达式

    2 /后紧跟元素名 再紧跟的肯定是条件表达式或无或.属性

    3 表达式中有类似element.attribute = 表示本层中(nextsibling)元素的属性值,否则element=表示元素的text

    4 text(root/vrs/vr[vr.psn=abc&&vr.lsn:int=dd])   
    text(root/vrs/vr[vr.psn=abc&&vr.lsn:float=dd]) 

    text(root/vrs/vr[vr.psn=abc&&vr.lsn=dd])默认为字符串比较     

    接下来表达式解析,对于运算符的解析还没有好方法(关键是优先级的解析)

    惆怅

  • 相关阅读:
    为什么要对url进行encode
    活在当下
    Linux Shell 文本处理工具
    Servlet、Servlet容器等内容讲解
    Java编程中的一些常见问题汇总
    创建文件目录
    ubuntu
    iptables
    mysqldump导入导出
    pt-table-sync
  • 原文地址:https://www.cnblogs.com/yangyh/p/1930336.html
Copyright © 2011-2022 走看看