
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
phpのheader("Location:#pos")...
-
フォームで戻った際に入力済み...
-
SplFileObject を利用したとき...
-
csvファイルについて教えて下さ...
-
PHP8でWarning:Undefined varia...
-
PHPSpreadsheetによる書き出し...
-
PHPの変わった閉じタグの必要性...
-
セッション関数を使わずにファ...
-
composerをインストールしたい...
-
phpの問い合わせフォームを作っ...
-
marginの値でマイナス値を設定...
-
submitで思うようにページが遷...
-
HTML PHP ラジオボタンのイベント
-
php でqiitaのサイトにあったフ...
-
PHPの勉強してます。 配列のと...
-
BASIC認証のフォームをデザイン...
-
アップロードファイルを表示す...
-
複数のパソコンの中の1つのパソ...
-
返信機能のツリー構造の深さを...
-
PHPについて。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語の配列をPush(追加)する...
-
CArrayのソート
-
再帰関数を用いて配列の合計を...
-
行列
-
CArrayの要素としてCStringArra...
-
プログラミングのPythonのnoteb...
-
スカラーのベクトル微分
-
cakephpでのトランザクション処...
-
文字列の抜き出し(PHP)
-
pg_copy_fromの使い方について...
-
【PHP】配列のキー名の修正は可...
-
np.stack()とnp.array()の違い
-
PHPは何故値渡しより参照渡しの...
-
多次元配列をソートする綺麗な...
-
配列の要素(value)に、変数を...
-
タグの中身だけを取り出す正規
-
PHPのmin関数、「1」以上の数値...
-
fgetc関数について
-
テキストエリアに入力した複数...
-
配列の添え字が小数だとどうなる?
おすすめ情報