【发布时间】:2012-08-15 08:46:19
【问题描述】:
我的 XML 节点结构是如何工作的,我有多个父元素的子元素,它们也出现多次。我能够访问子元素,但只能访问每个父元素的第一个元素。我还尝试将子元素中的数据插入 MySQL。在第一个元素之后,我似乎无法访问任何子元素。当我回显count() 时,我可以获得每个重复出现的父级的子元素的总数,但我似乎无法使用该数据。解析 XML 对我来说相当新,我的 PHP 有点生疏,所以请原谅我。我没有得到什么?
注意:我关心的数据在 mt 节点中。 mt 节点的直接父节点是 mi 节点。
$string = file_get_contents('file1.xml');
$xml = new SimpleXMLElement($string);
foreach ($xml->md as $mt_tag) {
if (isset($mt_tag->mi->mt)) {
$query = "INSERT INTO xmlData(
xml_data
) VALUES (
'{$mt_tag->mi->mt}'
)";
mysql_query($query, $connection);
echo count($mt_tag->mi->mt);
echo "<br />";
} else {
echo "<p>Creation Failed.<p>";
echo "<p>" . mysql_error() . "</p>";
}
}
【问题讨论】:
-
你确定 MySQL 支持 xmlData() 吗?我认为这可能只是 SQL Server(我可能是错的,但在快速搜索中没有看到任何关于它的内容)...
-
我还建议您在此处尝试使用一些示例 XML
-
@Brett 我认为应该没问题,因为我关心的数据只是一串字母字符。我还可以插入来自父母的第一个孩子的字符串,之后就不行了。
标签: php mysql xml xml-parsing