1

子を持たないすべてのノードを選択しようとしている XML ドキュメントがあります。次のようなものでこれを達成できると思いました:

$(XML).find(':empty')

ただし、これは空のセットを返すだけです。ここで、私の XML 文書を簡単に見てみましょう。

<BOM>
  <BOMHeader>
    <ID>ID Text</ID>
    <Classification>ClassificationText</Classification>
    <Version>VersionText</Version>
    <MakeEffectiveDate>MakeEffectiveDateText</MakeEffectiveDate>
    <ExpirationDate>ExpirationDate Text</ExpirationDate>    
    <MaterialID>Material ID Text</MaterialID>
    <MaterialDescription>Material Description</MaterialDescription>
    <Quantity>Quantity Text</Quantity>
    <UOM>UOM Text</UOM>
    <CustomProperties>
      <Example>Example Text</Example>
    </CustomProperties>
  </BOMHeader>
</BOM>

したがって、この XML を読み取って、ID、Classification、Version、MakeEffectiveDate、ExpirationDate、MaterialID、Material Description、Quantity、UOM、および Example に等しいノードのセットを返すことができるようにする必要があります。

これを達成する方法について何か考えはありますか?よろしくお願いします。

4

2 に答える 2

1

filter()次の方法を使用できます。

var $bachelors = $(XML).find('*').filter(function() {
                   return $(this).children().length === 0
                 })
于 2012-08-12T15:58:03.290 に答える
0

それは、これらの要素がどれも:empty. :emptyは、 などの子ノードを持たない要素を意味し<elem></elem>ます。試してください:not(:has(*))

$(XML).find(":not(:has(*))")
于 2012-08-12T16:08:47.743 に答える