請幫我解決這個問題。如何將字符串常量添加到xpath表達式
我有這樣的XML:
<?xml version="1.0" encoding="UTF-8"?>
<queries>
<query>
<name>LOAD_ALL_DATA</name>
<text>[some query]</text>
<key_fields>
<field>
<name>login</name>
<db_table_name>TABLE1_VIE</db_table_name>
<db_field_name>LOGIN</db_field_name>
<owner>User</owner>
</field>
<field>
<name>pass</name>
<db_table_name>TABLE1_VIE</db_table_name>
<db_field_name>PASS</db_field_name>
<owner>User</owner>
</field>
</key_fields>
</query>
</queries>
和此xpath表達式,即返回的一些有價值的值:
//queries/query[name = 'LOAD_ALL_DATA']/key_fields/field/name|
//queries/query[name = 'LOAD_ALL_DATA']/key_fields/field/db_table_name |
//queries/query[name = 'LOAD_ALL_DATA']/key_fields/field/db_field_name |
//queries/query[name = 'LOAD_ALL_DATA']/key_fields/field/owner
例如,此表達式將返回此數組:
login
TABLE1_VIE
LOGIN
User
pass
TABLE1_VIE
PASS
User
現在我想添加包含值的節點名稱,如下例所示:
login/name
TABLE1_VIE/db_table_name
LOGIN/db_field_name
User/owner
pass/name
TABLE1_VIE/db_table_name
PASS/db_field_name
User/owner
我試過使用函數name(),但它不適用於我。
Thaks很多,快速回復,但 – PavelPraulov
你的建議不使用的情況下使用工會的運營商合作「|」例如.Expression:'//查詢/查詢[名稱=「LOAD_ALL_DATA」]/key_fields/field/name/concat(text(),'/',local-name())| (),'/',local-name())'return **錯誤:錯誤:XPTY0004:無效的節點**或者我沒有正確使用你的建議? – PavelPraulov