我試着讓XSLT另一個元素值獲得父元素
我想要做這樣的事情得到其中的SequenceNumber = 2
我試圖TransactionDetail元素基於子元素值的父節點那樣做,但即時通訊失去了一些東西......
ancestor:://*[local-name()='SequenceNumber'][text()=2]
//TransactionDetail[//SequenceNumber = 2]
這是XML
<Root>
<biztalk_1>
<body>
<ActiveStore_SalesTransaction_1.70>
<TransactionDetail>
<SequenceNumber>2</SequenceNumber>
<TransactionDetailGroup>
<Item>
<ItemID>22</ItemID>
<NonMerchandiseFlag>1</NonMerchandiseFlag>
</Item>
</TransactionDetailGroup>
</TransactionDetail>
</ActiveStore_SalesTransaction_1.70>
</body>
</biztalk_1>
爲什麼使用name()不是一個好習慣 – MIkCode
@MIkCode可能有很多原因。我在這裏指着一些。 1.處理速度更快(取決於處理器)。一些處理器可能首先列出所有的後代(因爲'*'),然後基於'name()'進行過濾。 2. Xpath很容易在沒有'name()'的情況下編寫。而且,除非你想轉義命名空間,否則沒有必要在這樣的xpath中使用'name()'。 –