SQLの窓 イラストAC フリー素材

2006年12月22日

XMLファイルの書き換え(PHP5:DOMFunctions)

より、オブジェクト処理として完成されてますね

<?

mb_language( "ja" );
mb_internal_encoding("UTF-8");

# DOM Object 作成
$dom = DOMDocument::load("index.xml");

# 既存のノード( channel ) を取得
$nodeList = $dom->getElementsByTagName("channel");

# 新規ノードを作成( createElement でも良い )
$node = $dom->createElement("item");

# **********************************************************
# title ノードを作成
# **********************************************************
$nodeChild = $dom->createElement("title");
# テキストノードを作成して title ノードに追加
$utf8 = mb_convert_encoding ( "これは", "UTF-8", "SJIS" );
$nodeChild->appendChild( $dom->createTextNode( $utf8 ) );
# item ノードに titile ノードを追加
$node->appendChild( $nodeChild );

# **********************************************************
# link ノードを作成
# テキストノード同時作成の createElement を使用
# **********************************************************
$utf8 = mb_convert_encoding ( "UTF-8 ですが", "UTF-8", "SJIS" );
# テキストノード同時作成する link ノードの作成
$nodeChild = $dom->createElement("link", $utf8 );
$node->appendChild( $nodeChild );

# **********************************************************
# description ノードを作成
# **********************************************************
$utf8 = mb_convert_encoding ( "SHIFT_JISを", "UTF-8", "SJIS" );
$nodeChild = $dom->createElement("description", $utf8 );
$node->appendChild( $nodeChild );

# **********************************************************
# dc:subject ノードを作成
# **********************************************************
$utf8 = mb_convert_encoding ( "自力で", "UTF-8", "SJIS" );
$nodeChild = $dom->createElement("dc:subject", $utf8 );
$node->appendChild( $nodeChild );

# **********************************************************
# dc:date ノードを作成
# **********************************************************
$utf8 = mb_convert_encoding ( "変換しています", "UTF-8", "SJIS" );
$nodeChild = $dom->createElement("dc:date", $utf8 );
$node->appendChild( $nodeChild );


# channel ノードは、一つしか無いので、nodeList(0) で参照
# channel ノードの下に item ノードを追加
$targetNode = $nodeList->item( 0 );
$targetNode->appendChild( $node );

# 保存
$dom->save( "data.xml" );

#<channel>
#	<item>
#		<title>aaaaa</title> 
# 		<link>bbbbb</link> 
# 		<description>ccccc</description> 
#		<dc:subject>ddddd</dc:subject> 
#		<dc:date>eeeee</dc:date> 
#	</item>
#		<---- ここに追加
#</channel>

?>
Done



【PHPの最新記事】
posted by at 2006-12-22 14:27 | PHP | このブログの読者になる | 更新情報をチェックする