ホームページ >バックエンド開発 >PHPチュートリアル >PHPを介してXMLデータを抽出する際の問題
PHP には XML からデータを取得する方法がたくさんあることは知っていますが、最も便利なのは正規表現を使用することですが、DOM メソッドを使用する場合はどうすればよいでしょうか?
百度で調べたのですがよく分かりません神様に教えて下さい。 例:
20110524値>
13.82 cb8e0afa29105ae9463e55473c96400f
9d1cc240dc1541ac3328f721d5dd10c42a12cc85bc2d6ead78baa7096b03a4a3/値>
9f277a99d996bf85f76cb316e6c2fad7 ;値>13.79cb8e0afa29105ae9463e55473c96400f
c0859a6f2cc2c5802f803f06a13f8b5c67b7d0ce94f12436c1a365939130400f
9f71ebfedd6c8fe81403a8567b4cf72c ;レコード>20110525値>
13.82値>
5f71d47c48e69338ac457f65b7b21814
9d1cc240dc1541ac3328f721d5dd10c42a12cc85bc2d6ead78baa7096b03a4a3
5f71d47c48e69338ac457f65b7b218149f277a99d996bf85f76cb316e6c2fad72a12cc85bc2d6ead78baa7096b03a4a3 /Value>
09073e174b952eabc4abd78dd75aedf5
7d5cfa523801dfba0a72a055b4f15a88e014ece7d12df732a4e3dd019e3e87f313.60 id 属性から対応する値を取得するにはどうすればよいですか?
現在最初のものを実行しています:
preg_match_all( "/e014ece7d12df732a4e3dd019e3e87f3(.*?)fc270db6b7c3b1cf107e6ade50d25b3e/", $Result, $array );
2 つ目:
$doc = new DOMDocument();
$doc->load('sixx.xml'); // XML ファイルを読み込みます
$Results = $doc->getElementsByTagName( "Record" ); $ Result){
$Records = $Result->getElementsByTagName("Item");
$times = $Records->item(0)->nodeValue;
アイテムを見つけて操作を続行します
ID は使用できません。XML ID を使用してデータを取得し、変更するとどうなるかを知りたいです。
getElementById() を使用して取得しようとしましたが、そのようなメソッドはないと言われました。 。 。
未定義メソッド DOMElement::getElementById() を呼び出します。
この質問に答えるのを手伝ってください、ありがとう。
ディスカッションに返信 (解決策)
$s =<<< XML<root><Record><Item Id="1"><Value>20110524</Value></Item><Item Id="7"><Value>13.82</Value></Item><Item Id="8"><Value>13.94</Value></Item><Item Id="9"><Value>13.79</Value></Item><Item Id="11"><Value>13.85</Value></Item></Record><Record><Item Id="1"><Value>20110525</Value></Item><Item Id="7"><Value>13.82</Value></Item><Item Id="8"><Value>13.86</Value></Item><Item Id="9"><Value>13.58</Value></Item><Item Id="11"><Value>13.60</Value></Item></Record></root>XML;$xml = simplexml_load_string($s);$t = $xml->xpath('//*[@Id="8"]');print_r($t);
Array( [0] => SimpleXMLElement Object ( [@attributes] => Array ( [Id] => 8 ) [Value] => 13.94 ) [1] => SimpleXMLElement Object ( [@attributes] => Array ( [Id] => 8 ) [Value] => 13.86 ))
問題ありません
<?php$xml = simplexml_load_file('6.xml');foreach( $xml->Item as $a ){ echo $a->Value . '<br>';}
2011052413.8213.9413.7913.852011052513.8213.8613.5813.60
公式サイトの情報を見て、その後のコードも見たところ、データが持ち出せることが分かりました。しかし、まだ問題が残っています。つまり、最初に述べた値を抽出するための ID の使用に関して、結果の配列は値を取得できません。
(printr_r($ t))の結果:
ray(
[0] =&gt; simplexmlementオブジェクト
)=&gt; 、
echo $t -> Value
を使用していますが、データを取得できません。
XML配列について少し分からないのでアドバイスをお願いします。