1.DOM 生成と读取 XML 文例の使用
例一:
复制代代码如下:
< ?php
//DOM を使用して XML 文字列と XML ドキュメントを作成します
$dom = new DomDocument('1.0');
//ルートを追加 -
$books = $dom->appendChild($dom->createElement_x_x ('books'));
//
$book = $books->appendChild($dom->createElement_x_x ('book'));
//を追加します。
$title = $book->appendChild($dom->createElement_x_x ('title'));
//を追加します。テキスト ノード要素を
$title->appendChild($dom->createTextNode('偉大なアメリカ小説'));
//xml を生成
$dom->formatOutput = true; // domDocument の formatOutput 属性を true に設定します
// XML を文字列またはファイルとして保存します
$test1 = $dom->saveXML(); // test1 に文字列を入れます
$dom ->保存('test1.xml'); // ファイルとして保存
?>
复制代代码如下:
$aa = "111" ;
$xmlstr = <<
それが答えだとわかっていますが、質問は何ですか?
XML;
$dom = 新しい domDocument;
$dom->loadXML($xmlstr);
$test1 = $dom->saveXML();
$dom->save('test1.xml');
实例 3:
test1.xml:
复制代码 代码如下:
<著者>ジャック・ヘリントン著者>
オライリー出版社>
本>
<著者>ジャック・ヘリントン著者>
オライリー出版社>
本>
example.php:
复制代码代码如下:
$doc = 新しい DOMDocument();
$doc->load('test1.xml');
$books = $doc->getElementsByTagName("book");
foreach($books as $book){
$authors = $book->getElementsByTagName("著者");
$author = $authors->item(0)->nodeValue;
$publishers = $book->getElementsByTagName( "publisher" );
$publisher = $publishers->item(0)->nodeValue;
$titles = $book->getElementsByTagName( "title" );
$title = $titles->item(0)->nodeValue;
エコー "$title - $author - $publishern";
}
二.単純な生成と读取xml文例の使用
实例一:
复制代代码如下:
$xmlstr = <<
クリフ名前>
クリフと素敵な女性の出会い。忠実な犬は眠っていますが、目が覚めて郵便配達員に向かって吠えます
。
本>
XML;
//引取节点内容
$xml = new SimpleXMLElement($xmlstr);
foreach ($xml->book[0]->success as $success) {
switch((string) $success['type']) { // 要素のインデックスとして属性を取得します
ケース「ベストセラー」:
echo $success。 ' ベストセラー リストに数か月掲載されました
';
休憩;
ケース 'ブッククラブ':
echo $success。 「ブッククラブのリスト」;
休憩;
}
}
//修正文本节点内容
$xml = new SimpleXMLElement($xmlstr);
$xml->book[0]->characters->character[0]->name = 'ビッグクリフ';
echo $xml->asXML();
// 追加子元素の文本节点
$xml = new SimpleXMLElement($xmlstr);
$character = $xml->book[0]->characters->addChild('character');
$character->addChild('name', 'Yellow Cat');
$character->addChild('desc', 'aloof');
$success = $xml->book[0]->addChild('success', '2');
$success->addAttribute('type', 'reprints');
echo $xml->asXML();
?>
实例二:
复制代代码如下:
if (file_exists ('test1.xml')) { //读取xml文件
$xml = simplexml_load_file('test1.xml');
var_dump(xml);
} else {
exit('test1.xml を開けませんでした。');
}
三.DOM と単純操作
相互 DOM 导入simpleXML:
复制代代码如下:
$sxe = simplexml_load_string('
小説
if ($sxe === false) {
echo 'ドキュメントの解析中にエラーが発生しました';
終了;
}
$dom_sxe = dom_import_simplexml($sxe);
if (!$dom_sxe) {
echo 'XML 変換中のエラー';
終了;
}
$dom = new DOMDocument('1.0');
$dom_sxe = $dom->importNode($dom_sxe, true);
$dom_sxe = $dom->appendChild($dom_sxe);
$test2 = $dom->saveXML(); // test2に文字列を入れます
$dom ->保存('test2.xml'); // ファイルとして保存
?>
simpleXML导入DOM:
复制代码代码如下:
< ?php
$dom = 新しい domDocument;
$dom->loadXML('
小説
if (!$dom) {
echo 'ドキュメントの解析中にエラーが発生しました';
終了;
}
$s = simplexml_import_dom($dom);
echo $s->book[0]->title; // アメリカの偉大な小説
?>