XMLファイルからデータを抽出しようとしています(ファイル形式は変更されません)。 XMLデータには、コンテンツとAppeareance情報の両方がHTMLタグの形で含まれているため、私の悲しみを引き起こしています。 XMLの関連部分は次のようになります。PHP/SimpleXMLを使用したXMLからのHTMLの抽出
<item>
<p>Some text</p>
<p> Some more text</p>
<p><i>This</i> is important text.</p>
</item>
ノードの内容は、後でDBに挿入するための文字列として必要です。テキストは常に<のp>タグに包まれたので、私はこのコードを使用して、それらを反復処理しようとしている。
$namediscussion = '';
foreach($sectionxml->xpath('//p') as $p)
{
$namediscussion = $namediscussion . $p . '</br>';
}
echo $namediscussion
($のsectionxmlはximplexml_load_string(の出力である)親ノードから)。
Some text
Some more text
is important text.
注記イタリック体にあった行方不明の単語:
問題は、私は$ namediscussionエコーとき、私が得るものであるということです。これをどうすれば保存できますか?私はSimpleXMLを使いたいと思っていますが、DOMに行く必要がある場合はそれでも問題ありません。直接の文字列操作でも動作しますが、SimpleXMLノードから文字列全体を抽出することはできません。
大変助けになりました。あなたはsimplexmlelement
をキャストされ、ここで説明したように、これが不足している単語を修正するにはsimplexmlelement::__toString
Does not return text content that is inside this element's children.
要素の子の内容を破棄します
それはトリックでした!ありがとう! – jgalak