ホームページ  >  記事  >  バックエンド開発  >  PHP_PHP チュートリアルを使用して XML を読み書きするいくつかの方法

PHP_PHP チュートリアルを使用して XML を読み書きするいくつかの方法

WBOY
WBOYオリジナル
2016-07-21 15:14:12682ブラウズ

一. DOM 生成と读取 XML 文例の使用
实例一:

复制代码 代码如下:

//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'));
//<タイトル>を追加テキスト ノード要素を に追加します。 <br>$title->appendChild($dom->createTextNode('偉大なアメリカ小説')); <br>//XML を生成 <br>$dom->formatOutput = true; // domDocument の formatOutput 属性を true に設定します <br>// XML を文字列またはファイルとして保存します <br>$test1 = $dom->saveXML(); // test1 に文字列を入れます <br>$dom ->保存('test1.xml'); // ファイルとして保存します <br>?> <br></book></books> </div> <br>实例二: <br><div class="codetitle"> <span style="CURSOR: pointer" onclick="doCopy('code49077')"><u>复制代码</u></span>代码如下:</div> <div class="codebody" id="code49077"> <br>$aa = "111"; <br>$xmlstr = <<<XML <BR><?xml version='1.0'?> <br> <br><title>{$aa}
ジョー
ジェーン
<ボディ>
それが答えだとわかっていますが、質問は何ですか?


XML;
$dom = 新しい domDocument;
$dom->loadXML($xmlstr);
$test1 = $dom->saveXML();
$dom->save('test1.xml');


实例三:
test1.xml:
复制代码代码如下:




<著者>ジャック・ヘリントン
PHP ハック
<出版社>オライリー


<著者>ジャック・ヘリントン
ポッドキャスティングのハック
<出版社>オライリー




example.php:
复制代码代码如下:

$doc = new 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;
echo "$title - $author - $publishern";
}


二.単純な生成和读取xml文件を使用する
实例一:
复制代码代码如下:


$xmlstr = <<


偉大なアメリカ小説


クリフ
本当に素晴らしい人


素敵な女性
比類のない美しさ


忠実な犬
眠い


<プロット>
クリフと素敵な女性の出会い。忠実な犬は眠っていますが、郵便配達員に向かって吠えるために起きています


4
9


XML;

//引取要点の内容
$xml = new SimpleXMLElement($xmlstr);
foreach ($xml->book[0]->success as $success) {
switch((string) $success['type']) { // 属性を要素インデックスとして取得
case 'bestseller':
$成功をエコーし​​ます。 ' ベストセラー リストに数か月掲載されました
';
休憩;
ケース「ブッククラブ」:
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_load_file('test1.x)ミリリットル」 );
var_dump(xml);
} else {
exit('test1.xml を開けませんでした。');
}


三.DOM と simplexml 相互操作
DOM导入simpleXML:
复制代码代码如下:

$sxe = ;偉大なアメリカ人 <br>小説');
if ($sxe === false) {
echo 'ドキュメントの解析中にエラーが発生しました';
終了;
}
$dom_sxe = dom_import_simplexml($sxe);
if (!$dom_sxe) {
echo 'XML 変換中のエラー';
終了;
}
$dom = 新しい 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:
复制代码代码如下:

$dom = new domDocument;
$dom->loadXML('偉大なアメリカ人<br>小説');
if (!$dom) {
echo 'ドキュメントの解析中にエラーが発生しました';
終了;
}
$s = simplexml_import_dom($dom);
echo $s->book[0]->title; // 偉大なアメリカ小説
?>

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/326360.html技術記事 1. DOM の生成と XML 文書の取得を使用する 例 1: 复制代码 例: ?php //DOM を使用して XML 文字列と XML ドキュメントを作成 $dom = new DomDocument('1.0'); // root を追加 - bo...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。