0

私のxmlファイルは以下のようなものです..

<CA>
  <student>
    <name>james</name>
    <seat>A2</seat>
  </student>
  <student>
    <name>Asada</name>
    <seat>M13</seat>
  </student>
</CA>

そして、「seat」ノードの値「A2」と「M13」にPHPを使ってアプローチしたいと思います。

$root = $xml->documentElement;
$current = $root->firstChild;
$test = $current->firstChild;

上記のコードを使用して「name」ノードにアクセスできます。「座席」ノードにアクセスするにはどうすればよいですか?

4

2 に答える 2

4

そのためにXPathを使用できます:

$xml = <<<END
<CA>
  <student>
  <name>james</name>
  <seat>A2</seat>
  </student>
  <student>
  <name>Asada</name>
  <seat>M13</seat>
  </student>
</CA> 
END;


$dom = new DOMDocument();
$dom->loadXml($xml);

$xpath = new DOMXPath($dom);
$entry = $xpath->query("//CA/student/seat");
foreach($entry as $ent){
  echo $ent->nodeValue;
}
于 2012-12-08T15:39:25.957 に答える
2

そのために SimpleXML を使用できます。

$xml = simplexml_load_string($xmlContents);
foreach($xml->student as $student) {
    echo (string)$student->seat."\n";
}
于 2012-12-08T15:34:39.147 に答える