XML 노드 구조가 작동하는 방식, 여러 번 발생하는 부모의 자식 요소가 여러 개 있습니다. 나는 어린이 요소에 접근 할 수 있지만 각 부모 중 첫 번째 요소 만 가져올 수 있습니다. 또한 children 요소의 데이터를 MySQL에 삽입하려고합니다. 나는 첫 번째 요소 다음에 어떤 자식 요소에도 접근 할 수 없다. count()
을 되풀이 할 때, 나는 각 reoccurring 부모에 대한 children 요소의 총 개수를 얻을 수 있지만 그 데이터로 작업 할 수없는 것 같습니다. XML을 파싱하는 것은 나에게 상당히 새로운 것이므로 PHP는 녹슬지 않으므로 용서해주십시오. 나는 무엇을 얻지 못합니까?XML을 파싱 할 때 상위 노드의 첫 번째 자식 노드 이상에 액세스 할 수 없습니다.
참고 : 관련 데이터는 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>";
}
}
xmlData()가 MySQL에서 지원되는지 확인 하시겠습니까? 나는 그것이 SQL 서버일지도 모른다고 생각한다. (내가 틀릴 수도 있지만, 빠른 검색에서 그것에 대해 아무것도 보지 못했다.) ... –
여기서 일하려고하는 것처럼 약간의 샘플 XML 배치를 권장한다. –
@ Brett I 걱정되는 데이터는 문자 스트링 일 뿐이므로 좋을 것이라고 생각합니다. 또한 부모의 첫 번째 자식에서 문자열을 삽입 할 수 있습니다. – malea78478