XML取值问题

楼主: sicao (adios)   2022-09-06 20:27:37
想问一下 手边有个xml
架构大概是这样..
想请问一下 该怎么下才能取得<TOTA>里length的值??
<TITA>
<TT>(其他外层的tag)
<TxField id="AVG03" cname="hh" datatype="9" lengthtype="F" padchar=" "
justify="" default="" length="13" lengthExpr="" scale="2" tagSize="0"
lengthSize="0" encoding="" shiftInOut="Y" invisibleChar="TrimAndPadRight"
memo="" optional="N" overwrite="N" codec="" renderTag="" charFormat="" />
<TxField id="AVG03" cname="hh" datatype="9" lengthtype="F" padchar=" "
justify="" default="" length="13" lengthExpr="" scale="2" tagSize="0"
lengthSize="0" encoding="" shiftInOut="Y" invisibleChar="TrimAndPadRight"
memo="" optional="N" overwrite="N" codec="" renderTag="" charFormat="" />
.....
</TT>
</TITA>
<TOTA>
<TT>(其他外层的tag)
<TxField id="AVG03" cname="hh" datatype="9" lengthtype="F" padchar=" "
justify="" default="" length="13" lengthExpr="" scale="2" tagSize="0"
lengthSize="0" encoding="" shiftInOut="Y" invisibleChar="TrimAndPadRight"
memo="" optional="N" overwrite="N" codec="" renderTag="" charFormat="" />
<TxField id="AVG03" cname="hh" datatype="9" lengthtype="F" padchar=" "
justify="" default="" length="13" lengthExpr="" scale="2" tagSize="0"
lengthSize="0" encoding="" shiftInOut="Y" invisibleChar="TrimAndPadRight"
memo="" optional="N" overwrite="N" codec="" renderTag="" charFormat="" />
.....
</TT>
</TOTA>
作者: microloft (微阁)   2022-09-06 20:54:00
/(?<=<TOTA>[^]+\blength=")[^"]+(?="[^]+<\/TOTA>)/g上面适用于你目前的内容,但若有多组<TOTA>会有问题这种还是直接用XML相关解析工具会比较稳健
楼主: sicao (adios)   2022-09-07 08:03:00
谢谢!不过在regex101测试好像不行?
作者: microloft (微阁)   2022-09-07 19:17:00
我用ECMAScript语法,regex101的话要在左侧栏自己切换

Links booklink

Contact Us: admin [ a t ] ucptt.com