2017-09-11 3 views
2

私はBとDは、Aの子である考慮する必要がこここのXML for PHP Dom DocumentのXpathはどのようになりますか?

<tbody> 
    <tr> 
     <td>A</td> 
     <tr> 
      <td>B</td> 
      <tr> 
       <td>C</td> 
      </tr> 
      <td>D</td> 
     </tr> 
    </tr> 
</tbody> 

、フォーマットでXMLを有し、Cは、Bの子であるが、CおよびDは、子ノードを持ちません。

子ノード<td>C</td> and <td>D</td>などがない階層の最後のノードを取り出し、<tr>の中に入れて、 'td'の値を 'th'に置き換えたいとします。私はこのXpathクエリ"//*[not(child::*)]"を使用していますが、AとBのようなすべてのリーフノードも取得します。では、Xpathクエリを使用して簡単に取得できる最良の方法は何でしょうか?前もって感謝します。

編集:TRとTDタグが表現目的のためのみであり、元のコードでは使用されません。

+1

をあなたはおそらくのDOMDocumentは、その操作を行う手助けされることはありませんお互いの中にネスト ''タグを持つことはできませんがジョブ。 – iainn

答えて

0

あなたは何の次の兄弟持っていないすべてのリーフノードを取得したいようです思える:

//*[not(child::*) and not(following-sibling::*)] 
+0

それは働いています。ありがとうございました! – timukh

関連する問題