-2

私のxmlは次のようになります:--->

            <?xml version="1.0"?>
            <childrens>
            <child1 entity_id="1" value="Root Catalog" parent_id="0">
                <child2 entity_id="2" value="Navigate" parent_id="1">
                    <child4 entity_id="4" value="Activities" parent_id="2">
                            </child4>
                    </child2>
            </child1>
            </childrens>

私はこのようなものを出したい:--->
Root Catalog
Navigate
Activities
これは私のコードです:

<?php
$str = '<childrens>
<child1 entity_id="1" value="Root Catalog" parent_id="0">
    <child2 entity_id="2" value="Navigate" parent_id="1">
        <child4 entity_id="4" value="Activities" parent_id="2">
                </child4>
        </child2>
</child1>
</childrens>';
$pattern = '/<(.*)="(.*)">/';
preg_match_all($pattern, $str, $matches);
print_r($matches[1]);
?>
4

3 に答える 3

0

jqueryを使用してから何年も経ちましたが、使用している場合、値を取得するための粗いコードは次のようになると思います

var selected = $('*[value]'),res =[]; 
for(var i =0;i<selected.length; i++) { 
 res.push(selected[i].value); 
}

.each をいくつかの関数で使用して、これを 1 行で実行できると確信しています。

于 2013-01-18T12:21:23.503 に答える
0

xml ファイルが保存されている場合..

 <script>
      $(document).ready(function()
       {
        var html = '';
        $.get('my.xml', function(d){
           $(d).find('children').each(function(){ 
                   $(this).children().each(getChildNode);
            });
              console.log(html);
             alert(html);
       });

      function getChildNode(obj){
             html += $(this).attr('value') + '\n<br>';
            if($(this).children().length > 0){
                  $(this).children().each(getChildNode); 
             } 
       }

    });

</script>

うまくいくことを願っています。

ありがとう

于 2013-01-18T12:41:02.803 に答える
0

これはどうですか:

<?php
$str = '<childrens>
<child1 entity_id="1" value="Root Catalog" parent_id="0">
    <child2 entity_id="2" value="Navigate" parent_id="1">
        <child4 entity_id="4" value="Activities" parent_id="2">
                </child4>
        </child2>
</child1>
</childrens>';
$xml = simplexml_load_string($str);

$values = $xml->xpath('//@value');

foreach($values as $value) {
   echo $value."\n";
}
?>
于 2013-01-18T12:40:27.940 に答える