我想在一堆python模塊中找到像電子郵件,路徑或服務器名稱(在這個例子中只是電子郵件)的硬編碼字符串。 我試圖檢查所有字典,列表和屬性,如果它們包含「郵件」裏面,然後檢查它們是否包含字符串。儘管我得到了所有硬編碼郵件,但我也收到了mailList,它們不是硬編碼的,但是在行中有qoutes。在xpath中搜索python的硬編碼
//TESTLIST_STAR_EXPR[contains(@tokenValue,"mail")]/..//STRING[contains(@tokenValue,"'")]
這裏是一個XML樣本,這是從一個Python模塊解析:
<FILE_INPUT tokenValue="import" tokenLine="7" tokenColumn="0">
<STATEMENT tokenValue="import" tokenLine="7" tokenColumn="0">
<STMT_LIST tokenValue="import" tokenLine="7" tokenColumn="0">
<SIMPLE_STMT tokenValue="import" tokenLine="7" tokenColumn="0">
<IMPORT_STMT tokenValue="import" tokenLine="7" tokenColumn="0">
<IMPORT_NAME tokenValue="import" tokenLine="7" tokenColumn="0">
<IMPORT tokenValue="import" tokenLine="7" tokenColumn="0"/>
<DOTTED_AS_NAMES tokenValue="mails" tokenLine="7" tokenColumn="7">
<DOTTED_AS_NAME tokenValue="mails" tokenLine="7" tokenColumn="7">
<DOTTED_NAME tokenValue="mails" tokenLine="7" tokenColumn="7">
<NAME tokenValue="mails" tokenLine="7" tokenColumn="7">
<IDENTIFIER tokenValue="mails" tokenLine="7" tokenColumn="7"/>
</NAME>
</DOTTED_NAME>
</DOTTED_AS_NAME>
</DOTTED_AS_NAMES>
</IMPORT_NAME>
</IMPORT_STMT>
</SIMPLE_STMT>
</STMT_LIST>
<NEWLINE tokenValue="
" tokenLine="7" tokenColumn="12"/>
</STATEMENT>
<STATEMENT tokenValue="serverList" tokenLine="10" tokenColumn="0">
<STMT_LIST tokenValue="serverList" tokenLine="10" tokenColumn="0">
<SIMPLE_STMT tokenValue="serverList" tokenLine="10" tokenColumn="0">
<EXPRESSION_STMT tokenValue="serverList" tokenLine="10" tokenColumn="0">
<TESTLIST_STAR_EXPR tokenValue="serverList" tokenLine="10" tokenColumn="0">
<TEST tokenValue="serverList" tokenLine="10" tokenColumn="0">
<ATOM tokenValue="serverList" tokenLine="10" tokenColumn="0">
<NAME tokenValue="serverList" tokenLine="10" tokenColumn="0">
<IDENTIFIER tokenValue="serverList" tokenLine="10" tokenColumn="0"/>
</NAME>
</ATOM>
</TEST>
</TESTLIST_STAR_EXPR>
<ASSIGN tokenValue="=" tokenLine="10" tokenColumn="11"/>
<TESTLIST_STAR_EXPR tokenValue="[" tokenLine="10" tokenColumn="13">
<TEST tokenValue="[" tokenLine="10" tokenColumn="13">
<ATOM tokenValue="[" tokenLine="10" tokenColumn="13">
<LBRACKET tokenValue="[" tokenLine="10" tokenColumn="13"/>
<TESTLIST_COMP tokenValue="'chserver.prod.amce'" tokenLine="10" tokenColumn="14">
<TEST tokenValue="'chserver.prod.amce'" tokenLine="10" tokenColumn="14">
<ATOM tokenValue="'chserver.prod.amce'" tokenLine="10" tokenColumn="14">
<STRING tokenValue="'chserver.prod.amce'" tokenLine="10" tokenColumn="14"/>
</ATOM>
</TEST>
</TESTLIST_COMP>
<RBRACKET tokenValue="]" tokenLine="10" tokenColumn="34"/>
</ATOM>
</TEST>
</TESTLIST_STAR_EXPR>
</EXPRESSION_STMT>
</SIMPLE_STMT>
</STMT_LIST>
<NEWLINE tokenValue="
" tokenLine="10" tokenColumn="35"/>
</STATEMENT>
<STATEMENT tokenValue="mailDic" tokenLine="12" tokenColumn="0">
<STMT_LIST tokenValue="mailDic" tokenLine="12" tokenColumn="0">
<SIMPLE_STMT tokenValue="mailDic" tokenLine="12" tokenColumn="0">
<EXPRESSION_STMT tokenValue="mailDic" tokenLine="12" tokenColumn="0">
<TESTLIST_STAR_EXPR tokenValue="mailDic" tokenLine="12" tokenColumn="0">
<TEST tokenValue="mailDic" tokenLine="12" tokenColumn="0">
<ATOM tokenValue="mailDic" tokenLine="12" tokenColumn="0">
<NAME tokenValue="mailDic" tokenLine="12" tokenColumn="0">
<IDENTIFIER tokenValue="mailDic" tokenLine="12" tokenColumn="0"/>
</NAME>
</ATOM>
</TEST>
</TESTLIST_STAR_EXPR>
<ASSIGN tokenValue="=" tokenLine="12" tokenColumn="8"/>
<TESTLIST_STAR_EXPR tokenValue="{" tokenLine="12" tokenColumn="10">
<TEST tokenValue="{" tokenLine="12" tokenColumn="10">
<ATOM tokenValue="{" tokenLine="12" tokenColumn="10">
<LCURLYBRACE tokenValue="{" tokenLine="12" tokenColumn="10"/>
<DICTORSETMAKER tokenValue="'John'" tokenLine="12" tokenColumn="12">
<TEST tokenValue="'John'" tokenLine="12" tokenColumn="12">
<ATOM tokenValue="'John'" tokenLine="12" tokenColumn="12">
<STRING tokenValue="'John'" tokenLine="12" tokenColumn="12"/>
</ATOM>
</TEST>
<COLON tokenValue=":" tokenLine="12" tokenColumn="19"/>
<TEST tokenValue="'[email protected]'" tokenLine="12" tokenColumn="21">
<ATOM tokenValue="'[email protected]'" tokenLine="12" tokenColumn="21">
<STRING tokenValue="'[email protected]'" tokenLine="12" tokenColumn="21"/>
</ATOM>
</TEST>
</DICTORSETMAKER>
<RCURLYBRACE tokenValue="}" tokenLine="12" tokenColumn="41"/>
</ATOM>
</TEST>
</TESTLIST_STAR_EXPR>
</EXPRESSION_STMT>
</SIMPLE_STMT>
</STMT_LIST>
<NEWLINE tokenValue="
" tokenLine="12" tokenColumn="42"/>
</STATEMENT>
<STATEMENT tokenValue="selection" tokenLine="14" tokenColumn="0">
<STMT_LIST tokenValue="selection" tokenLine="14" tokenColumn="0">
<SIMPLE_STMT tokenValue="selection" tokenLine="14" tokenColumn="0">
<EXPRESSION_STMT tokenValue="selection" tokenLine="14" tokenColumn="0">
<TESTLIST_STAR_EXPR tokenValue="selection" tokenLine="14" tokenColumn="0">
<TEST tokenValue="selection" tokenLine="14" tokenColumn="0">
<ATOM tokenValue="selection" tokenLine="14" tokenColumn="0">
<NAME tokenValue="selection" tokenLine="14" tokenColumn="0">
<IDENTIFIER tokenValue="selection" tokenLine="14" tokenColumn="0"/>
</NAME>
</ATOM>
</TEST>
</TESTLIST_STAR_EXPR>
<ASSIGN tokenValue="=" tokenLine="14" tokenColumn="10"/>
<TESTLIST_STAR_EXPR tokenValue="'mails=s%'" tokenLine="14" tokenColumn="12">
<TEST tokenValue="'mails=s%'" tokenLine="14" tokenColumn="12">
<M_EXPR tokenValue="'mails=s%'" tokenLine="14" tokenColumn="12">
<ATOM tokenValue="'mails=s%'" tokenLine="14" tokenColumn="12">
<STRING tokenValue="'mails=s%'" tokenLine="14" tokenColumn="12"/>
</ATOM>
<MOD tokenValue="%" tokenLine="14" tokenColumn="23"/>
<POWER tokenValue="mails" tokenLine="14" tokenColumn="24">
<ATOM tokenValue="mails" tokenLine="14" tokenColumn="24">
<NAME tokenValue="mails" tokenLine="14" tokenColumn="24">
<IDENTIFIER tokenValue="mails" tokenLine="14" tokenColumn="24"/>
</NAME>
</ATOM>
<TRAILER tokenValue="." tokenLine="14" tokenColumn="29">
<DOT tokenValue="." tokenLine="14" tokenColumn="29"/>
<NAME tokenValue="Emails" tokenLine="14" tokenColumn="30">
<IDENTIFIER tokenValue="Emails" tokenLine="14" tokenColumn="30"/>
</NAME>
</TRAILER>
</POWER>
</M_EXPR>
</TEST>
</TESTLIST_STAR_EXPR>
</EXPRESSION_STMT>
</SIMPLE_STMT>
</STMT_LIST>
</STATEMENT>
<EOF tokenValue="EOF" tokenLine="14" tokenColumn="36"/>
</FILE_INPUT>
的問題是,我要趕在mailDic字典中的條目,但不能從選擇。
請顯示您正在嘗試使用此XPath的XML數據以及您嘗試查找哪些部分。看看[mcve],這是我們能夠幫助你的最低要求。 – Abel
我已將它添加到主要問題 – Krasnars