Search
  1. DOMNodelist::item〔インデックスで指定したノードを取得する〕
  2. DOMProcessingInstruction::__construct〔新しい DOMProcessingInstruction オブジェクトを作成する〕
  3. DOMText::__construct〔新しい DOMText オブジェクトを作成する〕
  4. DOMText::isWhitespaceInElementContent〔このテキストノードが空白を含むかどうかを示す〕
  5. DOMText::splitText〔指定したオフセットでノードを 2 つに分割する〕
  6. DOMXPath::__construct〔新しい DOMXPath オブジェクトを作成する〕
  7. DOMXPath::evaluate〔与えられた XPath 式を評価し、可能であれば結果を返す〕
  8. DOMXPath::query〔与えられた XPath 式を評価する〕
  9. DOMXPath::registerNamespace〔DOMXPath オブジェクトの名前空間を登録する〕
  10. dom_import_simplexml〔SimpleXMLElement オブジェクトから DOMElement オブジェクトを取得する〕

DOMNodelist::item
インデックスで指定したノードを取得する

unknown

DOMNode DOMNodelist::item ( int $インデックス )

DOMNodeListオブジェクト内のインデックス番目にあるノードを返します。 インデックスが不正な形式の場合はNULLを返します。

コレクション内のノードの数を知るには DOMNodeListオブジェクトのlengthプロパティを使用します。

<?
# テーブル内のすべての要素を取得する
$doc = new DOMDocument;
$doc->load('/content/demo/book.xml');

$items $doc->getElementsByTagName('book');

for ($i 0$i $items->length$i++) {
    echo $items->item($i)->nodeValue "\n";
}
/*
foreach ($items as $item) {
    echo $item->nodeValue . "\n";
}
*/
/*
まるごとPHP! Vol.2
PHP×携帯サイト デベロッパーズバイブル
CakePHP ポケットリファレンス
初めてのPHP & MySQL 第2版
PHPライブラリコレクション
*/
?>

DOMProcessingInstruction::__construct
新しい DOMProcessingInstruction オブジェクトを作成する

unknown

construct ( string $名前[, string $値 ] )

新しいDOMProcessingInstructionオブジェクトを作成します。 このオブジェクトは読み取り専用です。 このオブジェクトをドキュメントに追加することは可能ですが、ノードを新しいドキュメントに関連付けるまではこのノードに別のノードを追加することはできません。 書き込み可能なノードを作成するには、DOMDocument::createProcessingInstructionを使用してください。

第1引数名前には、処理命令のタグ名を指定します。
オプションの第2引数には、処理命令野値を指定します。

<?
# 新しい DOMProcessingInstruction を作成する
$dom = new DOMDocument('1.0''utf-8');
$html $dom->appendChild(new DOMElement('html'));
$body $html->appendChild(new DOMElement('body'));
$pinode = new DOMProcessingInstruction('php''echo "Hello World"; ');
$body->appendChild($pinode);
echo $dom->saveXML(); 
/*
<?xml version="1.0" encoding="utf-8"?>
<html><body><?php echo "Hello World"; ?></body></html>
*/
?>

DOMText::__construct
新しい DOMText オブジェクトを作成する

unknown

construct ( [ string $値 ] )

新しいDOMTextオブジェクトを作成します。

オプションの第1引数には、textノードの値を指定します。 省略した場合は空のtextノードが作成されます。

<?
# 新しい DOMText を作成する
$dom = new DOMDocument('1.0''utf-8');
$element $dom->appendChild(new DOMElement('root'));
$text $element->appendChild(new DOMText('root value'));
echo $dom->saveXML();
/*
<?xml version="1.0" encoding="utf-8"?>
<root>root value</root>
*/
?>

DOMText::isWhitespaceInElementContent
このテキストノードが空白を含むかどうかを示す

unknown

bool DOMText::isWhitespaceInElementContent ( void )

このテキストノードが空白かどうかを示します。 このテキストノードが要素の内容に空白を含むかどうかは、ドキュメントの読み込み時に決定されます。 成功した場合にTRUE、失敗した場合にFALSEを返します。

DOMText::splitText
指定したオフセットでノードを 2 つに分割する

unknown

DOMText DOMText::splitText ( int $オフセット )

指定したオフセットでノードを2つに分割し、同じ型の新しいノードを返します。 オフセット以降の内容をデータとして保持します。 分割したノードのツリー内での位置関係は兄弟となります。

分割後、このノードはオフセット位置までの内容を保持するようになります。 元のノードが親ノードを保持している場合、新しいノードは元のノードの兄弟として元のノードの次の位置に挿入されます。 オフセットとこのノードの長さが等しい場合は、新しいノードにはデータが含まれません。

オフセットには、分割する位置を指定します(0始まり)。

DOMXPath::__construct
新しい DOMXPath オブジェクトを作成する

unknown

construct ( DOMDocument $doc )

新しいDOMXPathオブジェクトを作成します。

第1引数docにはDOMXPathに関連づけられたDOMDocumentを指定します。

<?
// to retrieve selected html data, try these DomXPath examples:

$file "index.html";
$doc = new DOMDocument();
$doc->loadHTMLFile($file);

$xpath = new DOMXpath($doc);

// example 1: for everything with an id
//$elements = $xpath->query("//*[@id]");

// example 2: for node data in a selected id
//$elements = $xpath->query("/html/body/div[@id='yourTagIdHere']");

// example 3: same as above with wildcard
$elements $xpath->query("*/div[@id='header']");

if (!is_null($elements)) {
    foreach ($elements as $element) {
        echo "<br/>["$element->nodeName"]";
        $nodes $element->childNodes;
        foreach ($nodes as $node) {
            if($node->nodeValue!="") echo $node->nodeValue."\n";
        }
    }
}
/*
<br/>[div]
 div#herader/div.logo 
        860px
        960px
        印刷ページを表示
        ブックマークに追加
 div#herader/div.icons 
*/
?>

DOMXPath::evaluate
与えられた XPath 式を評価し、可能であれば結果を返す

unknown

mixed DOMXPath::evaluate ( string $XPath式[, DOMNode $コンテキストノード ] )

指定したXPath式を実行し、可能であれば型付けされた結果、あるいは指定されたXPath式にマッチするすべてのノードを含むDOMNodeListを返します。

オプションの第2引数コンテキストノードには、クエリを指定します。 相対XPathクエリを実行する場合に、基準ノードを指定することができます。 デフォルトは、root要素に対する相対パスです。

<?
###### 英悟の書籍の数を取得する
$doc = new DOMDocument;

$doc->load('book.xml');

$xpath = new DOMXPath($doc);

$tbody $doc->getElementsByTagName('tbody')->item(0);

// tbody ノードを基準とした相対クエリとなります
$query 'count(row/entry[. = "en"])';

$entries $xpath->evaluate($query$tbody);
echo "There are $entries english books\n";
// There are 2 english books
?>

DOMXPath::query
与えられた XPath 式を評価する

unknown

DOMNodeList DOMXPath::query ( string $XPath式[, DOMNode $コンテキストノード ] )

指定したXPath式を評価し、指定したXPath式にマッチするノードを含むDOMNodeListを返します。 ノードを返さない式の場合は、空のDOMNodeListを返します。

オプションの第2引数コンテキストノードには、クエリを指定します。 相対XPathクエリを実行する場合に、基準ノードを指定することができます。 デフォルトは、root要素に対する相対パスです。

<?
###### すべての英語の書籍を取得する
$doc = new DOMDocument;
$doc->preserveWhiteSpace false;
$doc->Load('book.xml');
$xpath = new DOMXPath($doc);

// root 要素から開始します
$query '//book/chapter/para/informaltable/tgroup/tbody/row/entry[. = "en"]';
$entries $xpath->query($query);
foreach ($entries as $entry) {
    echo "Found {$entry->previousSibling->previousSibling->nodeValue}," .
         " by {$entry->previousSibling->nodeValue}\n";
}
/*
Found The Grapes of Wrath, by John Steinbeck
Found The Pearl, by John Steinbeck
*/

###### すべての英語の書籍を取得する(式を短くするため、contextnodeパラメータを使用)
$doc = new DOMDocument;
$doc->preserveWhiteSpace false;
$doc->load('book.xml');
$xpath = new DOMXPath($doc);

$tbody $doc->getElementsByTagName('tbody')->item(0);

// tbody ノードからの相対クエリです
$query 'row/entry[. = "en"]';
$entries $xpath->query($query$tbody);
foreach ($entries as $entry) {
    echo "Found {$entry->previousSibling->previousSibling->nodeValue}," .
         " by {$entry->previousSibling->nodeValue}\n";
}
?>

DOMXPath::registerNamespace
DOMXPath オブジェクトの名前空間を登録する

unknown

bool DOMXPath::registerNamespace ( string $prefix, string $名前空間URI )

DOMXPathオブジェクトに、名前空間URIおよびprefixを登録します。 成功した場合にTRUE、失敗した場合にFALSEを返します。

 now coding...
module/include/php/dom3/domxpath_registernamespace.inc

dom_import_simplexml
SimpleXMLElement オブジェクトから DOMElement オブジェクトを取得する

unknown

DOMElement dom_import_simplexml ( SimpleXMLElement $ノード )

SimpleXMLクラスのノードを受け取り、それをDOMElementノードに変換して返します。 新しいオブジェクトは、DOMElementノードとして使用することができます。 エラーが発生した場合は、FALSEを返します。

<?

###### dom_import_simplexml() を用いて SimpleXML を DOM にインポートする
$sxe simplexml_load_string('<books><book><title>blah</title></book></books>');

if ($sxe === false) {
    echo 'ドキュメントのパース中にエラー';
    exit;
}

$dom_sxe dom_import_simplexml($sxe);
if (!$dom_sxe) {
    echo 'XML の変換中にエラー';
    exit;
}

$dom = new DOMDocument('1.0');
$dom_sxe $dom->importNode($dom_sxetrue);
$dom_sxe $dom->appendChild($dom_sxe);

echo $dom->saveXML();
/*
<?xml version="1.0"?>
<books><book><title>blah</title></book></books>
*/
?>

関連コンテンツ

Q. このサイトの情報はお役に立ちましたでしょうか?

投票する 投票結果を見る

管理人に【web拍手】を送るweb拍手(1行メッセージも送れます♪)

pagetop

polarized women