所以說我有一個節點結構,如:XPath 1.0:從多個節點結果返回一個字符串?
<Row>
<Column Name="Primary Number">1</Column>
<Column Name="Secondary Number">01</Column>
<Column Name="Text">This is all one sentence</Column>
<Row>
<Column Name="Primary Number">1</Column>
<Column Name="Secondary Number">02</Column>
<Column Name="Text">I would like to return</Column>
<Row>
<Column Name="Primary Number">1</Column>
<Column Name="Secondary Number">03</Column>
<Column Name="Text">as one string, in one xpath line</Column>
首先我想說這不是我的XML的,我也沒有幫助修建它。但我不得不使用它來檢索我需要的信息....所以請幫助。
因此,我想要使用一個XPath的做法是從所有Primary Number = 1個節點的所有n個Text字段中返回一個包含文本的字符串。
這可能使用XPath 1.0嗎?
我有一個不那麼完美的解決方案,但如果我知道的輔助號碼的確切數字,只工作,然後它只是一個混亂的CONCAT的一堆()的...
您好所有,感謝大家的迴應! 所以我想用這個字符串做什麼,是使用contains()來搜索特定的關鍵字,但是我發現了一個實際上有一個連接所有值的字符串的快捷方式,並且只需要分享它以防萬一有類似的問題。 Tod的提示對此有所幫助,我只是給它添加了一個條件和BAM魔法。 這就是:
Table[@Name='TableName']/Row/Column[@Name='Text' and contains(text(),"keyword")][preceding-sibling::Column[@Name='Primary Number' and text()='15']]
那麼,這樣做是不是連接所有節點值結果爲一個字符串,然後使用含有()就可以了,它單獨從而移出搜索每一行字對不可能的需要。 感謝所有的幫助人員,如果沒有所有的好迴應,都無法做到! (我想給大家投票窗口,但是我太新:()
相同的問題:http://stackoverflow.com/questions/1403971/xpath-to-return-string-concatenation-of-qualifying-child-node-values – kan
@Kan感謝您的鏈接,猜我是堅持使用凌亂的連接.... – JWiley