好了,所以我有一些示例XML,看起來像這樣:Xpath查詢「喜歡」替代
<Node name="details">
<Node name="1130482269">
<Val name="type"><u>2</u></Val>
<Val name="owner"><n/></Val>
<Val name="account_number"><u>99-71-39</u></Val>
</Node>
<Node name="570722270">
<Val name="type"><u>2</u></Val>
<Val name="owner"><n/></Val>
<Val name="account_number"><u>99 71 40</u></Val>
</Node>
<Node name="1845243341">
<Val name="type"><u>2</u></Val>
<Val name="owner"><n/></Val>
<Val name="account_number"><u>9971-41</u></Val>
</Node>
</Node>
我試圖做基於ACCOUNT_NUMBER搜索。但有這麼多不同的格式,它可以在一些有空格,有的有破折號,有些還混合等。如果我能夠做一個搜索去掉空格和破折號,我應該能夠得到任何帳號。
隨着ACCOUNTNUMBER是搜索查詢,最終的目標是在做XPATH搜索這樣做是爲了獲得第二層次的節點名稱數量:
doc = libxml2.parseDoc(xml)
ctxt = doc.xpathNewContext()
res = ctxt.xpathEval("/Node/Node[Val[@name='account_number']/*='" + str(accountnumber) + "']/@name")
是否有使用XPath搜索的方式,去除所有破折號和空格,只留下數字?
感謝
廣東話你替換所有「」和」?將它們從您的文本中刪除?林不熟悉Python,但據我所知是沒有辦法做你想要什麼使用XPath只 –
也許我可以做一個巨大的,如果:-( – itwb
你或許可以創建一個正則表達式語句來替換任何「 - 」或' 「那是<值名稱=‘ACCOUNT_NUMBER’>標籤或查詢之間的所有瓦爾[@account_number]使用XPath節點和重寫他們的價值 –