我正在尝试将XML数据切换为可用的字符串,以便稍后在我的脚本中重用它们。
我通过Curl请求收到数据,他很棒。 现在砍掉数据会让我感到害怕..
这是我收到的XML的一部分(整个数据部分大约是90行)
<professions>
<skill key="IT Specialist" maxage="40" group="IT" worked="5"/>
<skill key="Assistant" maxage="35" group="Office" worked="5"/>
</professions>
现在我当然可以创建一个函数过滤数据等,但我觉得有一种不同的方式来完成工作。 XML加载到$ var。
中任何帮助完成这项工作比阅读字符串等更有帮助。
答案 0 :(得分:1)
xml_parse_into_struct()
很不错。
答案 1 :(得分:0)
很抱歉,如果我不能正确理解您的问题,但是将XML简单地放入SimpleXML
这是迄今为止最容易使用的PHP XML API并且它还支持XPath进行选择性数据提取的问题:
$data = simplexml_load_string($var);
echo $data->skill[0]['key']; // will print "IT Specialist"
foreach ($data->skill as $skill) {
printf('%s in group %s with max. age %d and %d year(s) of experience',
$skill['key'], $skill['group'], $skill['maxage'], $skill['worked']) . "\n";
}
/*
* this will print:
* IT Specialist in group IT with max. age 40 and 5 year(s) of experience
* Assistant in group Office with max. age 35 and 5 year(s) of experience
*/
$keys = $data->xpath('/professions/skill/@key');
foreach ($keys as $key) {
echo $key . "\n";
}
/*
* this will print:
* IT Specialist
* Assistant
*/
// and you can do a lot more...
我无法想到为什么人们会为奇怪的数据结构xml_parse_into_struct()
创建(除了编写自己的类似XML解析器的功能时),当有工具处理给定问题时更容易。但也许我误解了你的问题......