![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
PHP---------------------------------------------
$xpath = "/qq:album/img";
$xpath = mb_convert_encoding($xpath,"UTF-8","SJIS");
$x_array = $ctx->xpath_eval($xpath);
$title_element = $x_array->nodeset[0];
$title = $title_element->get_attribute("title");
$title = mb_convert_encoding($title,"SJIS","UTF-8");
XML----------------------------------------------
<?xml version="1.0" encoding="EUC-JP"?>
<qq:album xmlns:qq="www.phpdom.com">
<img title="ABC">
<img title="DEF">
<img title="GHI">
<img title="JKL">
</qq:album>
こんにちは。
http://www.geocities.jp/xmlfirststep/dom/dom4.html
のサイトを参考に、上のようなスクリプトを書きました。albumという名の親ノードの下にあるimgノードの要素titleを抜き出すものです。このimgノードをXMLで複数つくり、phpでその長さを自動で返してもらおうと思ったのですがそのやり方がわかりません。
色々なサイトを回りましたが、キーワード「length」で探してもそれらしき情報がまったく見つかりません。
どうすればノードの長さを返してもらえるのでしょうか?
No.1ベストアンサー
- 回答日時:
PHP4 は、使っていないので見当違いだったらごめんなさい。
$x_array->nodeset は、配列だから
$len = count($x_array->nodeset);
でいいんじゃないかと思います。
仰られたとおりに打ってみて、正常に動作しました!
まさにこれを探していました、本当にありがとうございます!
余談ですが、このようなphpのスクリプトってどんな種類があるのかとか、どこでお調べになっているのですか?参考までにお聞かせください。
僕は
http://jp2.php.net/manual/ja/
で探していたのですが、今までJavaScriptしか使ったことがないもので、配列の長さを返すにはlengthを使うものだと思っていたために、自力でこのcountという方法を見つけることが出来ませんでした。
本来の質問の答えはこれで出ていますが、最後に余談のほうの質問の答えを頂いてから締め切ろうと思います。
スクリプトについては本当にありがとうございました!
No.3
- 回答日時:
参考URLを付けるのを忘れていました・orz
count
http://jp2.php.net/manual/ja/function.count.php
DOMNodeList の length プロパティ
http://jp2.php.net/manual/ja/ref.dom.php
上記の DOMNodeList の部分
No.2
- 回答日時:
#1>
http://jp2.php.net/manual/ja/ で探していたのですが私もそうです。
でも、あのサイト、文法要素的なことを探そうとした時とか
どこ??
ってなることがありますね。^^;
私の場合、使っている回線が細い(64K)ので、資料を探してサイトを渡り歩くということは、ほとんどしません。
大抵は、本で資料を持っていてそこをまず調べます。
ちなみに、PHP5 では、DOMの準拠がもっと良いので、
$dom = new DOMDocument;
$dom->load("data.xml");
$xpath = new DOMXPath($dom);
$nodeSet = $xpath->query("XPathの文字列");
print "マッチノード数:$nodeSet->length\n";
の様にlength を使います。
逆にこの場合、単なる配列ではないので count は使えません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP 共通の処理をまとめる方法がわからないのでアドバイスお願いします。 1 2022/12/19 20:20
- Perl RSSにdiv,ul classを付けたいのですがどのようにつけるのかわからないです 2 2022/03/28 01:53
- HTML・CSS htmltとcssの連携をして画像縮小について 1 2022/11/15 20:32
- HTML・CSS html cssのmargin 5 2022/12/03 11:04
- PHP PHPプログラムの間違い 1 2022/10/06 14:33
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
- HTML・CSS cssの display: flex;で横並びにならずに困ってます 1 2022/12/04 13:18
- PHP php ログイン 1 2022/11/01 00:24
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
STLのvectorで作った配列をメン...
-
読み(あ行~わ行)ごとに分け...
-
forとかで連番の変数を一気に格...
-
特定の文からメールアドレスの...
-
配列の要素(value)に、変数を...
-
C++ VS2005におけるイテレータ...
-
C言語の配列をPush(追加)する...
-
Perlで重複行を削除したい
-
行列
-
php 多次元配列において指定し...
-
CArrayのソート
-
Pager::factory()の使い方がわ...
-
再帰の仕方
-
c言語 単位行列
-
多次元配列の重複削除
-
助けてください!九星気学のP...
-
C言語 最大値と最小値を求めて...
-
URL型の文字列からファイル名を...
-
連想配列で値が空だったら、要...
-
phpのエラーについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラミングのPythonのnoteb...
-
スカラーのベクトル微分
-
特定の文からメールアドレスの...
-
CArrayの要素としてCStringArra...
-
C言語 最大値と最小値を求めて...
-
行列
-
読み(あ行~わ行)ごとに分け...
-
配列の要素(value)に、変数を...
-
C言語の配列をPush(追加)する...
-
STLのvectorで作った配列をメン...
-
php で1から100までの素数の表...
-
【PHP】配列のキー名の修正は可...
-
Perlで重複行を削除したい
-
fgetc関数について
-
CArrayのソート
-
ファイルの書き込みについて教...
-
配列の添え字が小数だとどうなる?
-
PHPのmin関数、「1」以上の数値...
-
forとかで連番の変数を一気に格...
-
delphi 2次元配列がわかりません
おすすめ情報