php エディタ Baicao は、XML を解析するときに空の配列を取得するメソッドを提供します。 XML データを処理するときに、ノードが空になる状況が発生することがありますが、このときは、ノードを表す空の配列を取得する必要があります。 PHP では、xpath 式を使用するか、SimpleXMLElement オブジェクトの Children() メソッドを使用して、空の配列を取得できます。 xpath 式を使用してノード名の後に「[]」を追加すると空の配列を取得できます。また、children() メソッドを使用して空の文字列をパラメーターとして渡すことで空の配列を取得できます。これらのメソッドは、XML を解析するときに空の配列の値を正確に取得するのに役立ちます。
私は、xml ファイルを受け入れ、解析し、json として返す go ユーティリティを作成するという任務を与えられました。
以下は XML の例です:
リーリー次のコードを書きました:
リーリーgo.dev
しかし、残念ながら、それは機能しません。コンソールに次のメッセージが表示されます:
リーリー私は何を間違えたのでしょうか?この問題はどうすれば解決できますか?
ほぼ答えに近づいていると思うので、議論を答えに移した方がよいと思います。前述したように、xml.unmarshal
によって返されるエラーを確認する必要があります。次のようになります:
コードに有効な XML データが含まれているので、意味のあるエラーを生成できます。上記のエラー チェックを完了した後、コードを実行すると次の結果が生成されます:
リーリー これは、データ構造に小さなタイプミスがあるために発生します。track
構造の定義には次の内容があります:
実際には track
であるべきときに、xmlname
属性を tracks
と誤ってタグ付けしました:
最後に、これは質問とは直接関係ありませんが、変数に error
という名前を付けることは避けてください。これは、誤った組み込みデータ型の名前であるためです。 json.marshal
への呼び出しを次のように変更します。
エラーに対して panic()
を使用する必要はありません。これは、コードを削除するための便利な方法に過ぎません。
これらの変更を行った後、コードをコンパイルして実行すると、出力 (jq
形式) が得られます。
リーリー
xmlname 要素さえ必要ないことに注意してください。要素を完全に削除すると、次のようになります。
リーリー
次に、出力 (
形式) を取得します。 リーリー
以上がXMLを解析するときに空の配列を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。