我有一个XML:
ToString("dd MMMM yyyy hh:mm tt")
我需要得到(作为一个字符串)每个节点的内容,但实际上是这样! 例如,frm上面的xml,我需要输出一个字符串,如: aaaeeeInterInChina 对于每个"文件"节点
我现在处于这种情况:
<elements version="1.0">
<files>
<file id="125173909582">
<text>aaa</text>
<source>eee</source>
<tag>InterInChina</tag>
</file>
</files>
</elements>
但$ content不是我需要的,因为它的所有节点都是。
谢谢大家!
答案 0 :(得分:0)
你可以使用这样的东西;
$data = '<elements version="1.0">
<files>
<file id="125173909582">
<text>aaa</text>
<source>eee</source>
<tag>InterInChina</tag>
</file>
</files>
</elements>';
//$request_url="http://www.example.com";
//$xml=simplexml_load_file($request_url);
$xml = new SimpleXMLElement($data);//for test
foreach($xml->files as $k=>$data){
resp = $data->file->text.' '.$data->file->source.' '.$data->file->tag;
}
var_dump($resp);
答案 1 :(得分:0)
你不想要xml。您希望通过文件进行迭代。然后通过变量进行迭代。你可以使用foreach:
让我们开始像设置多个文件一样设置你的xml:
$content='<elements version="1.0">
<files>
<file id="125173909582">
<text>aaa</text>
<source>eee</source>
<tag>InterInChina</tag>
</file>
<file id="125173909582">
<text>bb</text>
<source>sss</source>
<tag>bla</tag>
</file>
</files>
</elements>';
$xml = new SimpleXMLElement($content);
现在我们可以这样做:
$xml = new SimpleXMLElement($content);
foreach($xml->files->file as $file){
echo "<h1>file</h1>";
foreach($file as $key=>$value){
if(!is_array($value)){
echo $key . " = ".$value."<br>";
}
}
}
答案 2 :(得分:0)
@mark_smit的答案没关系......但我的问题的正确答案是:
$xml = new SimpleXMLElement($content);
foreach($xml->files->file as $file){
foreach($file as $key=>$value){
if(!is_array($value)){
echo "<".$key.">".$value."</".$key.">";
}
}
}