0

permission="allowed"PHP を使用して、この xml から値を解析する方法がわかりませんsimplexml_load_file

基本的な構造は

<?xml version='1.0' encoding='UTF-8'?>
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" xmlns:gd="http://schemas.google.com/g/2005" xmlns:yt="http://gdata.youtube.com/schemas/2007" gd:etag="W/&quot;DkEDSH47eCp7I2A9WhJbEEQ.&quot;">
<yt:accessControl action="comment" permission="allowed" />
<yt:accessControl action="commentVote" permission="allowed" />
<yt:accessControl action="videoRespond" permission="moderated" />
<yt:accessControl action="rate" permission="allowed" />
<yt:accessControl action="embed" permission="allowed" />
<yt:accessControl action="list" permission="allowed" />
<yt:accessControl action="autoPlay" permission="allowed" />
<yt:accessControl action="syndicate" permission="allowed" />

permission=allowedその最後の行の属性の値を取得するにはどうすればよいですか?

4

2 に答える 2

2

XPathを使用してレコードを取得したい場合、これは XML クエリ言語です。

SimpleXMLElement の xpath( ) メソッドとregisterXPathNamespace()メソッドを参照してください。W3Schools では、XPath の構文について説明しています

この XML の場合

$xml = <<<EOD
<book xmlns:chap="http://example.org/chapter-title">
   <title>My Book</title>
</book>
EOD;

次のような名前空間を登録します。

$sxe = new SimpleXMLElement($xml);
$sxe->registerXPathNamespace('c', 'http://example.org/chapter-title');
$result = $sxe->xpath('//c:title');
于 2012-09-20T00:29:14.273 に答える
0

これを理解するのはとても面倒でした...

(ここで$xml = simplexml_load_file($source);)

次の方法で許可属性にアクセスできます。

$xml->children('http://gdata.youtube.com/schemas/2007')->accessControl[4]->attributes()->permission;
于 2012-09-20T02:09:04.507 に答える