如何在 PHP 中处理 XML NODE

发布于 2024-10-26 23:48:56 字数 337 浏览 1 评论 0原文

这是简单的代码。我只想知道如何处理 $reader->expand(); 返回的节点

<?php
$reader = new XMLReader();
if (!$reader->open("data.xml"))
{
    die("Failed to open 'data.xml'");
}
while($reader->read())
{
    $node = $reader->expand();
    // just want to know how to process this node now?
}
$reader->close();
?>

here is the simple code. i just want to know how to process the node that is being returned by $reader->expand();

<?php
$reader = new XMLReader();
if (!$reader->open("data.xml"))
{
    die("Failed to open 'data.xml'");
}
while($reader->read())
{
    $node = $reader->expand();
    // just want to know how to process this node now?
}
$reader->close();
?>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

2024-11-02 23:48:56
<?php
$xml = <<<XML
<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<parent xmlns:dc="myNS"> 
<dc:child> <dc:a>A</dc:a> <dc:b>B</dc:b> </dc:child> 
<dc:child> <dc:a>c</dc:a> <dc:b>d</dc:b> </dc:child> 
<dc:child> <dc:a>e</dc:a> <dc:b>f</dc:b> </dc:child> 
<dc:child> <dc:a>g</dc:a> <dc:b>h</dc:b> </dc:child> 
</parent> 
XML;

$reader = new XMLReader();
$reader->xml($xml);
while($reader->read()) {
    switch($reader->nodeType) {
        case constant('XMLREADER::ELEMENT'):
            if ($reader->name == 'dc:child') {
                //insert into db
                var_dump($reader->readInnerXml());
            }
            break;
    }
}

$reader->close();

输出:

string(63) " <dc:a xmlns:dc="myNS">A</dc:a> <dc:b xmlns:dc="myNS">B</dc:b> "
string(63) " <dc:a xmlns:dc="myNS">c</dc:a> <dc:b xmlns:dc="myNS">d</dc:b> "
string(63) " <dc:a xmlns:dc="myNS">e</dc:a> <dc:b xmlns:dc="myNS">f</dc:b> "
string(63) " <dc:a xmlns:dc="myNS">g</dc:a> <dc:b xmlns:dc="myNS">h</dc:b> "
<?php
$xml = <<<XML
<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<parent xmlns:dc="myNS"> 
<dc:child> <dc:a>A</dc:a> <dc:b>B</dc:b> </dc:child> 
<dc:child> <dc:a>c</dc:a> <dc:b>d</dc:b> </dc:child> 
<dc:child> <dc:a>e</dc:a> <dc:b>f</dc:b> </dc:child> 
<dc:child> <dc:a>g</dc:a> <dc:b>h</dc:b> </dc:child> 
</parent> 
XML;

$reader = new XMLReader();
$reader->xml($xml);
while($reader->read()) {
    switch($reader->nodeType) {
        case constant('XMLREADER::ELEMENT'):
            if ($reader->name == 'dc:child') {
                //insert into db
                var_dump($reader->readInnerXml());
            }
            break;
    }
}

$reader->close();

Output:

string(63) " <dc:a xmlns:dc="myNS">A</dc:a> <dc:b xmlns:dc="myNS">B</dc:b> "
string(63) " <dc:a xmlns:dc="myNS">c</dc:a> <dc:b xmlns:dc="myNS">d</dc:b> "
string(63) " <dc:a xmlns:dc="myNS">e</dc:a> <dc:b xmlns:dc="myNS">f</dc:b> "
string(63) " <dc:a xmlns:dc="myNS">g</dc:a> <dc:b xmlns:dc="myNS">h</dc:b> "
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文