php - 在 php 中获取 xml 命名空间属性

标签 php xml namespaces attributes

是否有可能获得 attribute: name="Total"value ?
我知道在数组中是可能的,但行并不总是相同的。

这是 XML:

<XML>
<resultaten>
<resultaat>
<id>3123709</id>
<antwoord name="Total">9,0</antwoord>
<antwoord name="Communicatie">9,0</antwoord>
<antwoord name="Advies">9,0</antwoord>
<antwoord name="Deskundigheid">9,0</antwoord>
<antwoord name="Betrokkenheid">9,0</antwoord>
<antwoord name="Gemiddelde">9,0</antwoord>
</resultaat>
</resultaten>
</XML>

我试过这个:
$xml = simplexml_load_file($url)

$date = $xml->resultaten->resultaat->attributes();
echo $date;

最佳答案

我不使用 simplexml所以不能建议它的方法,而是使用标准 DOMDocument和它的相关方法获得 name 相当简单来自您在问题中显示的 XML 的属性值。

$xml='<XML>
    <resultaten>
        <resultaat>
            <id>3123709</id>
            <antwoord name="Total">9,0</antwoord>
            <antwoord name="Communicatie">9,0</antwoord>
            <antwoord name="Advies">9,0</antwoord>
            <antwoord name="Deskundigheid">9,0</antwoord>
            <antwoord name="Betrokkenheid">9,0</antwoord>
            <antwoord name="Gemiddelde">9,0</antwoord>
        </resultaat>
    </resultaten>
</XML>';


$dom=new DOMDocument;
$dom->loadXML( $xml );
$col=$dom->getElementsByTagName('antwoord');
foreach( $col as $node )echo $node->getAttribute('name') . '<br />';

输出:
Total
Communicatie
Advies
Deskundigheid
Betrokkenheid
Gemiddelde

更新

要使用 url 而不是字符串,只需使用 load方法如下。
    $url='https://klantenvertellen.nl/xml/van_essen_advocaten';
    $dom=new DOMDocument;
    $dom->load( $url );
    $col=$dom->getElementsByTagName('antwoord');
    foreach( $col as $node )echo $node->getAttribute('name') . '<br />';

输出:
datum
referentie
Uw voornaam/bedrijf:
Aanbeveling:
Geholpen door:
Ervaring:
Totaal oordeel
Communicatie
Advies
Deskun....etc

关于php - 在 php 中获取 xml 命名空间属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54607086/

相关文章:

php - 当 session 驱动程序是数据库 Laravel 时 token 未匹配

android - 使用 attrs 的自定义 View 背景导致崩溃

xml - XmlFormat() 总是比 htmlEditFormat() 好吗?

java - JAXB - 如何在绑定(bind) Java 类中指定 xml 属性

python - 是否有一种 pythonic 方法可以通过不同的网络命名空间执行 REST API 调用?

typescript - 如何在 TypeScript 中通过导入使用命名空间

php - 如何捕获 require_once/include_once 异常?

javascript - Fancytree:如何获取复杂表中的输入值?

php - 查询数据到json响应

ruby-on-rails - 如何在 Ruby on Rails 中以编程方式查找命名空间/模块名称?