php,从非标准的xml文档中提取数据

时间:2010-12-25 15:11:20

标签: php xml

我有一些xml内容,我需要提取信息并将其存储到数据库中

<xml file="136000000-136100000">
<Id>136000000</Id>
<Name>Sem  Serxy</Na me>
<Email>ssunsdadi2sk@ya.ru</Email>
<DateRegistration>10/13/2010 1:49:30 AM</DateRegistration>
</xml>
<xml file="136000000-136100000">
<Id>136000001</Id>
<Name>God Deckor</Name>
<Email>deckor22s2001@yahoo.com</Email>

如果我尝试简单的xml加载不起作用,因为该文档似乎不是有效的xml。   我可以使用正则表达式来提取preg_match_all的信息,但我觉得这不是正确的方法,因为数据已经很好地结构化了。还有其他方法吗?

2 个答案:

答案 0 :(得分:1)

尝试将其包装在根元素中。它看起来对我有用。

EG。像这样的东西:

$xmlData = '<root>' . $xmlData . '</root>';

其中$xmlData是包含您拥有的数据的字符串。

这样您就可以使用SimpleXML或PHP中的其他XML库加载它。

答案 1 :(得分:0)

$xml = simplexml_load_string('<root>' + $record->rows['ColumnName'] + '</root>');
$xmlelmId = $xml->xpath('/root/Id');
echo $xmlelmId[0];