在PHP中使用SimpleXML获取xml:id属性

时间:2015-12-01 10:58:30

标签: php xml

我有一个XML文件的这一部分:

          <post xml:id="cmr-politweets-a445917194569134080" who="#cmr-politweets-p102397481"
        when="2014-03-18T14:38:38" xml:lang="fra">
        <p><distinct type="twitter-retweet"><ident>RT</ident>
            <addressingTerm><addressMarker>@</addressMarker><addressee type="twitter-account"
                ref="https://twitter.com/UDI_off 819772525"
            >UDI_off</addressee></addressingTerm>:</distinct>
              .<addressingTerm><addressMarker>@</addressMarker><addressee type="twitter-account"
              ref="#cmr-politweets-p102397481">Chantal_Jouanno</addressee></addressingTerm> : «
          La lutte contre la pédophilie ne peut fonctionner que par la dénonciation » =&gt; <ref
            target="http://t.co/qVd4gfPfs2 http://bit.ly/1dkQWKu"
          >http://t.co/qVd4gfPfs2</ref></p>
        ..................
      </post>

所以,我想在PHP中使用simpleXML获取xml:id。 感谢

1 个答案:

答案 0 :(得分:0)

假设每个元素只有一个“ xml:”前缀属性,它是xml:id,这是我的解决方案:

function getXMLId(SimpleXMLElement $node) {
        if ($node) {
            if (count($node->attributes('xml', true)) == 1) {
                return $node->attributes('xml', true)[0];
            }
        }
        return '';
    }