PHPはデフォルトで有効になってSimpleXMLと呼ばれます。上記の例のように整形式のXMLを解析するのに非常に便利です。
まず、SimpleXMLElementインスタンスを作成し、XMLをコンストラクタに渡します。 SimpleXMLがXMLを解析します。 (私はSimpleXMLのの優雅さがあると感じここにある - 。のSimpleXMLElementは、ライブラリ全体の唯一のクラスである)今
$xml = new SimpleXMLElement($yourXml);
、それは任意のPHPオブジェクトであるかのように、あなたは簡単にXMLを通過することができます。属性は配列値としてアクセスできます。 codepadに正しいことを確認済み
<?php
$yourXml = <<<END
<?xml version="1.0" encoding="UTF-8"?>
<test>
<required>
<item type="binary">
<name>The name</name>
<url visibility="restricted">c:/temp/test/widget.exe</url>
</item>
<item type="document" subtype="mytype">
<name>document name</name>
<url visiblity="visible">c:/temp/test.pdf</url>
</item>
</required>
</test>
END;
// Create the SimpleXMLElement
$xml = new SimpleXMLElement($yourXml);
// Store an array of results, matching names to URLs.
$results = array();
// Loop through all of the tests
foreach ($xml->required[0]->item as $item) {
if (! isset($item['subtype']) || $item['subtype'] != 'mytype') {
// Skip this one.
continue;
}
// Cast, because all of the stuff in the SimpleXMLElement is a SimpleXMLElement.
$results[(string)$item->name] = (string)$item->url;
}
print_r($results);
:あなたは、特定の属性値を持つタグを探しているので、我々は、XMLを通過する単純なループを書くことができます。
希望すると便利です。
誰があなたをマークしたのかわからないのですが、なぜフィルが正しいのですか? SimpleXML(XPathを使用して)は行く方法です:http://www.w3schools.com/php/php_xml_simplexml.asp – paulsm4
@ paulsm4:downvoteは私から来ました。その理由は、研究努力が示されておらず、コードが提供されておらず、GoogleまたはSO検索機能によって答えが見つかる可能性があります。 – vstm
XML Parser拡張機能はオプションですか? – Unsigned