簡體   English   中英

如何使用XPath從XML中選擇多個節點?

[英]How to select multiple nodes from XML with XPath?

從XML返回多個節點的XPath語法是什么?

說我有這樣的XML:

<Contacts>
  <Contact>
    <Name>
      <FirstName>Andre</FirstName>
      <LastName>Levy</LastName>
    </Name>
    <DOB>
      <Year>1970</Year>
      <Month>5</Month>
      <Day>13</Day>
    </DOB>
  </Contact>
  <Contact>
    <Name>
      <FirstName>Bob</FirstName>
      <LastName>Fisher</LastName>
    </Name>
    <DOB>
      <Year>1983</Year>
      <Month>7</Month>
      <Day>24</Day>
    </DOB>
  </Contact>
</Contacts>

XPath將給我帶來什么:

<Contacts>
  <Contact>
    <FirstName>Andre</FirstName>
    <Year>1970</Year>
  </Contact>
  <Contact>
    <FirstName>Bob</FirstName>
    <Year>1983</Year>
  </Contact>
</Contacts>

我試過: //FirstName | //Year //FirstName | //Year

但這只會產生:

<FirstName>Andre</FirstName>
<FirstName>Bob</FirstName>
<Year>1970</Year>
<Year>1983</Year>

是什么賦予了?

可以在XPath中選擇多個節點,但是不能以請求的輸出中顯示的方式重新排列XML。

另請注意:

  1. 您的示例XML格式不正確。 它必須具有單個根元素。
  2. 實際上,您可以使用聯合運算符根據標題問題的要求選擇多個節點| 你建議,但是...
  3. 您所需的XML不能通過XPath進行選擇 ,但是可以通過XSLT進行轉換的方式來構造(前提是您願意將所需的XML包裝在單個封閉的根元素中)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM