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