前提・実現したいこと
言語はPHPです。
法令APIのxmlファイルから条数・項数・条文・号数・号文を取得したのですが、mysqlに格納させる方法が分かりません。mysqlでは、minpouテーブルを用意し、カラムを条数・項数・条文・号数・号文としています。
foreachで取得したものを変数にし、インサート文で格納させようとしたのですがうまくいきませんでした。
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
PHP
1try { 2 $db = new PDO('mysql:dbname=roppou;host=localhost;port=8889;charset=utf8','root','root'); 3} catch(PDOException $e) { 4 echo 'DB接続エラー:'.$e->getMessage(); 5} 6 7$xml = simplexml_load_file("https://elaws.e-gov.go.jp/api/1/lawdata/明治二十九年法律第八十九号"); 8 9foreach($xml->ApplData->LawFullText->Law->LawBody->MainProvision->Part as $Part) { 10 foreach($Part->Chapter as $Chapter) { 11 foreach($Chapter->Article as $Article) { 12 // 条数 13 echo $Article->ArticleTitle."<br>"; 14 foreach($Article->Paragraph as $Paragraph) { 15 // 項数 16 echo $Paragraph->ParagraphNum." "; 17 foreach($Paragraph->ParagraphSentence as $ParagraphSentence) { 18 // 項文または条文 19 echo $ParagraphSentence->Sentence."<br>"; 20 foreach($Paragraph->Item as $Item) { 21 // 号数 22 echo $Item->ItemTitle." "; 23 foreach($Item->ItemSentence as $ItemSentence) { 24 // 号文 25 echo $ItemSentence->Sentence."<br>"; 26 } 27 } 28 } 29 } 30 } 31 } 32} 33 34foreach($xml->ApplData->LawFullText->Law->LawBody->MainProvision->Part as $Part) { 35 foreach($Part->Chapter as $Chapter) { 36 // 章数 37 echo $Chapter->ChapterTitle."<br>"; 38 foreach($Chapter->Section as $Section) { 39 // 節数 40 echo $Section->SectionTitle."<br>"; 41 foreach($Section->Article as $Article) { 42 // 条数 43 echo $Article->ArticleTitle."<br>"; 44 foreach($Article->Paragraph as $Paragraph) { 45 // 項数 46 echo $Paragraph->ParagraphNum." "; 47 foreach($Paragraph->ParagraphSentence as $ParagraphSentence) { 48 // 項文または条文 49 echo $ParagraphSentence->Sentence."<br>"; 50 foreach($Paragraph->Item as $Item) { 51 // 号数 52 echo $Item->ItemTitle." "; 53 foreach($Item->ItemSentence as $ItemSentence) { 54 // 号文 55 echo $ItemSentence->Sentence."<br>"; 56 } 57 } 58 } 59 } 60 } 61 } 62 } 63}
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー