Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP XML属性解析_Php_Xml_Parsing - Fatal编程技术网

PHP XML属性解析

PHP XML属性解析,php,xml,parsing,Php,Xml,Parsing,在此处使用代码: 如果XML文件如下所示,如何使用开关(如果可能)为每个属性获取属性: <?xml version="1.0" encoding="ISO-8859-1"?> <note> <to id="01">Tove</to> <from id="02">Jani</from> <heading color="#CEAF33">Reminder</heading> <body type=

在此处使用代码:

如果XML文件如下所示,如何使用开关(如果可能)为每个属性获取属性:

<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to id="01">Tove</to>
<from id="02">Jani</from>
<heading color="#CEAF33">Reminder</heading>
<body type="small" important="low">Don't forget me this weekend!</body>
</note> 

托弗
贾尼
提醒
这个周末别忘了我!

您应该使用SimpleXML扩展,它更简单、更易于使用

从PHP文档:

<?php
$string = <<<XML
<a>
 <foo name="one" game="lonely">1</foo>
</a>
XML;

$xml = simplexml_load_string($string);
foreach($xml->foo[0]->attributes() as $a => $b) {
    echo $a,'="',$b,"\"\n";
}
?>

我不会使用W3的教程。我将使用将字符串加载到XML对象中,然后像这样对其进行迭代:

$notes = simplexml_load_string( $xml);
foreach( $notes as $note)
{
    echo $note . "[" . $note->getName() . "]\n";
    foreach( $note->attributes() as $key => $value)
    {
        echo "\t" . $key . '=' . $value . "\n";
    }
    echo "\n";
}

(使用您的输入字符串)

对于没有doctype的API,我如何做到这一点?我想使用W3Schools教程,因为这是我从中学到的。我已经准备好了一切,我所需要做的就是从API获取属性。另外,我知道您想要使用W3Schools教程,但说真的,它完全过时了,需要花费更长的时间来实现。SimpleXML是为了改善PHP中糟糕的XML情况而设计的。我如何使用没有doctype的API来实现这一点?我想使用W3Schools教程,因为这是我从中学到的。我已经准备好了一切,我所需要做的就是从API获取属性。SimpleXML不需要HTML doctype定义,它只需要是有效的XML(即从
标记开始,并包含顶级XML节点)。W3Schools教程既麻烦又低效,您应该能够在任何设置中使用它。我使用的api没有开始。如何验证它?我尝试使用simplexml_load_文件(file.xml,LIBXML_DTDVALID(1));但它不起作用。我真的需要使用代码创建XML文档来验证它吗?如果它输出XML,只需将一个简单的
标记连接到开头,这样
simplexml\u load\u string
就可以工作了。感谢您的示例:)我将使用API来处理它。看起来确实简单多了。现在我只需要弄清楚如何用每个元素做不同的事情。