3

phpdom関数nodeValueを使用してコンテンツのテキストを抽出しています。ただし、子孫の値も返します。

<example>
<inhalt>123<more>45</more></inhalt>
</example>

inhalt私が好むように12345と123のために戻ります。私はそれが意味ではなく、中にテキストを入れるのはあまりよくないことを知っていますがinhalt、どのように私はのinhaltようにテキストがないことを確認しhasNodeValueますか?

4

1 に答える 1

3

Philが述べたように、テキストもノードで編成されています。したがって、ノードの吸入には2つの子があります。テキストノード( "123")とmoreという名前の要素ノードで、これにもテキストノード( "45")があります。

知りたいだけの場合は、要素moreの前にテキストがあるかどうかをテストし、少なくとも1つの要素があるかどうかをテストしてから、最初の要素がテキストであるかどうかをテストします(私が覚えている限りではDOMTextである必要があります)。

知りたい場合は、「ルートに」少なくとも1つの要素がある場合は、すべての子を反復処理して同じテストを行います。

http://www.php.net/manual/en/class.domtext.php

于 2010-11-15T01:18:05.683 に答える