jqueryxmlは値を持つノードを検索します

アンシー

こんにちは友人私はXMLファイルで以下のコードを持っています。タグの値<x> <metadata> <field><name>work</name><value>基づいての値を見つける必要がありyます。

XMLファイル

<x>
<y>12</y>
<metadata>
<field>
<name>1234</name>
<value>qqqqqq</value>
</field>
<field>
<name>work</name>
<value>true</value>
</field>
</metadata>
</X>
<x>
<y>14</y>
<metadata>
<field>
<name>5678</name>
<value>wwwww</value>
</field>
<field>
<name>work</name>
<value>false</value>
</field>
</metadata>
</X>

私のコード

y=14;
$.ajax({
        type: "GET" ,
        url: "../JRF/JRF.xml" ,
        dataType: "xml" ,
        success: function(xml) {

            $(xml).find('x').each(function(){
                if(y == $(this).find('y').text())
                {
                    ?????????
                }

            }); 
            }       
        });

<value> trueまたはの値を取得するのを手伝ってもらえfalseますか。値を非表示の入力テキストボックスに保存する必要があります。

acdcjunior

使用できるものは次のとおりです。

$(xml).find('x').each(function() {
 if (y == $(this).find('y').text()) {
  var trueOrFalse = $(this).find('metadata field:has(name:contains("work")) value').text();
  console.log('work for ' + y + ' is ' + trueOrFalse);
 }
});

基本的に、それは:

  • $(xml).find('x').each(function() {
    • xXML内のすべての要素を取得します
  • if (y == $(this).find('y').text()) {
    • それがあればx持ってyそのテキストの内容に等しい子要素をy
  • $(this).find('metadata field:has(name:contains("work")) value').text();
    • 壊す:
      • $(this).find('metadata field')
        • field要素の子であるmetadata要素見つけます
      • $(this).find('metadata field:has(name:contains("work"))')
        • それが唯一のものに制限されfieldている必要がありnameとの子を"work"その内容に
      • $(this).find('metadata field:has(name:contains("work")) value').text();
        • これvalueにより、要素が選択され、field:has(name:contains("work"))そのテキストが取得されます。

以下のデモ。

var xml = `<root>
  <x>
    <y>12</y>
    <metadata>
      <field>
        <name>1234</name>
        <value>qqqqqq</value>
      </field>
      <field>
        <name>work</name>
        <value>true</value>
      </field>
    </metadata>
  </x>
  <x>
    <y>14</y>
    <metadata>
      <field>
        <name>5678</name>
        <value>wwwww</value>
      </field>
      <field>
        <name>work</name>
        <value>false</value>
      </field>
    </metadata>
  </x>
</root>
`;

var y = 14;
$(xml).find('x').each(function() {
 	if (y == $(this).find('y').text()) {
    var trueOrFalse = $(this).find('metadata field:has(name:contains("work")) value').text();
    console.log('work for ' + y + ' is ' + trueOrFalse);
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

そして、あなたがワンライナーに興味があるなら:

$(xml).find('x:has(y:contains("'+ y +'")) metadata field:has(name:contains("work")) value').text();

デモ:

var xml = `<root>
  <x>
    <y>12</y>
    <metadata>
      <field>
        <name>1234</name>
        <value>qqqqqq</value>
      </field>
      <field>
        <name>work</name>
        <value>true</value>
      </field>
    </metadata>
  </x>
  <x>
    <y>14</y>
    <metadata>
      <field>
        <name>5678</name>
        <value>wwwww</value>
      </field>
      <field>
        <name>work</name>
        <value>false</value>
      </field>
    </metadata>
  </x>
</root>
`;

var y = 14;
var trueOrFalse = $(xml).find('x:has(y:contains("'+ y +'")) metadata field:has(name:contains("work")) value').text();
console.log('work for ' + y + ' is ' + trueOrFalse);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

特定の属性値を持つ最初のノードを検索します

分類Dev

Neo4j Cypherは、子が属性値を持たないノードを検索します

分類Dev

JQueryxmlは特定のノード値で並べ替えます

分類Dev

Spring Hibernateは、セットに値を持つすべてのレコードを検索します

分類Dev

networkxを使用して複数の親を持つノードを検索する

分類Dev

rvest-最後のページ番号を持つhtmlノードを検索します

分類Dev

xmlは親ノードを検索し、simplexmlphpを削除します

分類Dev

ノードを検索するLINQxmlはnullを返します

分類Dev

特定の値を持つノードを選択します

分類Dev

属性値を持つノードをカウントします

分類Dev

jqueryは値を持つテーブルセルを検索し、trを強調表示します

分類Dev

mongodbは、キーに同じ値を持つドキュメントを検索しますが、値が何であるかを知りません

分類Dev

PHP:特定の値を持つ配列からすべてのレコードを検索します

分類Dev

pandasデータフレームは特定の列値を持つすべての行を検索しますか?

分類Dev

Alfresco REST CoreAPIはパスでノードを検索します

分類Dev

WinformTreeviewはタグでノードを検索します

分類Dev

「検索」はノードを順番に返しますか?

分類Dev

JAXBは要素ノードを検索および削除します

分類Dev

特定の値のみを含み、他には何も含まない配列フィールドを持つドキュメントを検索します

分類Dev

Mongo DBは、キーフィールドに応じて最も高い値を持つすべてのレコードを検索します

分類Dev

Lucene.Netで、値(xまたはyまたはz)などを持つフィールド名を検索します

分類Dev

MongoDBは2つのフィールドの不明な値を検索します

分類Dev

MySQL-子の値を持つ結果を検索します

分類Dev

XMLはサブノードを持つノードを取得します

分類Dev

T-SQL一致するテキストを持つノードを検索し、XMLフィールドの兄弟ノードから値を抽出します

分類Dev

JQueryは、ループのない特定の値を持つ要素を検索します

分類Dev

elasticsearchで、複数の値を持つ複数のフィールドを複数検索しようとしていますが、それは可能ですか?

分類Dev

Indexeddbは、特定のフィールドを持つすべての注文を検索します

分類Dev

Ext jsは、同じ属性を持つストア内のレコードを検索します

Related 関連記事

  1. 1

    特定の属性値を持つ最初のノードを検索します

  2. 2

    Neo4j Cypherは、子が属性値を持たないノードを検索します

  3. 3

    JQueryxmlは特定のノード値で並べ替えます

  4. 4

    Spring Hibernateは、セットに値を持つすべてのレコードを検索します

  5. 5

    networkxを使用して複数の親を持つノードを検索する

  6. 6

    rvest-最後のページ番号を持つhtmlノードを検索します

  7. 7

    xmlは親ノードを検索し、simplexmlphpを削除します

  8. 8

    ノードを検索するLINQxmlはnullを返します

  9. 9

    特定の値を持つノードを選択します

  10. 10

    属性値を持つノードをカウントします

  11. 11

    jqueryは値を持つテーブルセルを検索し、trを強調表示します

  12. 12

    mongodbは、キーに同じ値を持つドキュメントを検索しますが、値が何であるかを知りません

  13. 13

    PHP:特定の値を持つ配列からすべてのレコードを検索します

  14. 14

    pandasデータフレームは特定の列値を持つすべての行を検索しますか?

  15. 15

    Alfresco REST CoreAPIはパスでノードを検索します

  16. 16

    WinformTreeviewはタグでノードを検索します

  17. 17

    「検索」はノードを順番に返しますか?

  18. 18

    JAXBは要素ノードを検索および削除します

  19. 19

    特定の値のみを含み、他には何も含まない配列フィールドを持つドキュメントを検索します

  20. 20

    Mongo DBは、キーフィールドに応じて最も高い値を持つすべてのレコードを検索します

  21. 21

    Lucene.Netで、値(xまたはyまたはz)などを持つフィールド名を検索します

  22. 22

    MongoDBは2つのフィールドの不明な値を検索します

  23. 23

    MySQL-子の値を持つ結果を検索します

  24. 24

    XMLはサブノードを持つノードを取得します

  25. 25

    T-SQL一致するテキストを持つノードを検索し、XMLフィールドの兄弟ノードから値を抽出します

  26. 26

    JQueryは、ループのない特定の値を持つ要素を検索します

  27. 27

    elasticsearchで、複数の値を持つ複数のフィールドを複数検索しようとしていますが、それは可能ですか?

  28. 28

    Indexeddbは、特定のフィールドを持つすべての注文を検索します

  29. 29

    Ext jsは、同じ属性を持つストア内のレコードを検索します

ホットタグ

アーカイブ