当我上传图像时,它将文件名存储在db中并在(gallary)文件夹中移动图像。现在我想通过php代码在xml文件(demo.xml)中检索存储的图像。所以我的问题是如何在XML文件中添加php代码或者是否有其他方法可以执行此操作。这是我的demo.xml文件代码。
<Piecemaker>
<Image Source="images/las.png" Title="slide1">
Text><h1>Images</h1><p>description area.</p></Text>
</Image>
<Image Source="images/la.png" Title="Slide 2">
<Text><h1>Images</h1><p>description area.</p></Text>
</Image>
<Transitions>
<Transition Pieces="9" Time="1.2" Transition="easeInOutBack" Delay="0.1" DepthOffset="300" CubeDistance="30"></Transition>
<Transition Pieces="15" Time="3" Transition="easeInOutElastic" Delay="0.03" DepthOffset="200" CubeDistance="10"></Transition>
</Transitions>
</Piecemaker>
答案 0 :(得分:0)
将它们加载到DOM中,为它创建一个Xpath对象并使用表达式来提取数据:
$dom = new DOMDocument();
$dom->loadXml($xml);
$xpath = new DOMXpath($dom);
$images = array();
foreach ($xpath->evaluate('/Piecemaker/Image') as $node) {
$images[] = [
'src' => $node->getAttribute('Source'),
'title' => $node->getAttribute('Title'),
'description' => $xpath->evaluate('string(./Text)', $node)
];
}
var_dump($images);
DomXpath :: evaluate()可以返回可以使用foreach
遍历的节点列表,或者使用string()
和count()
等xpath函数标量值。