現在、私はこのコードを使用して調べていますhttp://us.php.net/manual/en/function.xml-set-element-handler.php#85970 タグ間のテキストを取得するにはどうすればよいですか?
私はphp5とXMLパーサーを使用しています
現在、私はこのコードを使用して調べていますhttp://us.php.net/manual/en/function.xml-set-element-handler.php#85970 タグ間のテキストを取得するにはどうすればよいですか?
私はphp5とXMLパーサーを使用しています
これはそれを説明するはずです:
xml_set_character_data_handler ( $parser, 'tagContent' );
function tagContent ( $parser, $content )
{
}
何をしているのかを理解していない限り、PHPのXMLパーサーを使用しないでください。これはSAXイベントの概念を理解する必要があるSAXパーサーです。非常に大きなXMLファイルを非常に迅速に処理する必要がない限り、これは必要ありません。99%の場合、使用する必要はありません。質問に基づいて、XMLファイルを開き、特定のタグを検索して、そのタグに含まれる文字列を抽出するだけです。そのためには、DOMまたはSimpleXMLパーサーを使用する必要があります。SimpleXMLを使用すると、XPathを使用できます。このサンプルコードを参照してください。(DOMを使用する場合は、PHPサイトで探す必要があります-私は初心者なのでハイパーリンクを投稿できません-古いPHP4XMLパーサーであるDOMXMLと混同しないように注意してください。)
私がこれを読み間違え、実際にSAX解析の使用方法を学びたい場合は、Googleが役立ちますが、基本的な理論は次のとおりです。コードは一連のイベントとして完全なドキュメントを処理します。各イベントは、ドキュメント内の何かを表します。ドキュメントの先頭から始まり、各要素が開かれ、閉じられ、各属性が解析され、各文字列が解析されます。関心のあるイベントをリッスンするコード(要素が開いたり閉じたりしたとき)が必要です。次に、そこから、開いている要素が目的の要素であるかどうかを確認します。必要な場合は、次のように指示する必要があります。テキストをリッスンし、探しているテキストを変数に格納する必要があるテキストを処理するイベントハンドラー。終わったら、
繰り返しになりますが、質問に基づくと、SAXではなくDOMまたはSimpleXMLが必要なようです。