请教如何将以下代码用PHP保存成XML格式,并用PHP取出来?

colalc0117 2009-07-29 11:27:28
请教如何将以下代码用PHP保存成XML格式,并用PHP取出来?

<city name="重庆">
<houseArea name="江北">
<bideArea>江北</bideArea>
<bideArea>江北</bideArea>
<bideArea>江北</bideArea>
<bideArea>江北</bideArea>
<bideArea>江北</bideArea>
</houseArea>
<houseArea name="渝北">
<bideArea>渝北</bideArea>
<bideArea>渝北</bideArea>
<bideArea>渝北</bideArea>
<bideArea>渝北</bideArea>
<bideArea>渝北</bideArea>
</houseArea>
<houseArea name="南坪">
<bideArea>南坪</bideArea>
<bideArea>南坪</bideArea>
<bideArea>南坪</bideArea>
<bideArea>南坪</bideArea>
<bideArea>南坪</bideArea>
</houseArea>
<houseArea name="沙坪坝">
<bideArea>沙坪坝</bideArea>
<bideArea>沙坪坝</bideArea>
<bideArea>沙坪坝</bideArea>
<bideArea>沙坪坝</bideArea>
<bideArea>沙坪坝</bideArea>
</houseArea>
</city

怎样用 PHP 提取 出来。 谢谢!
...全文
164 点赞 收藏 5
写回复
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
colalc0117 2009-07-30
谢谢了哈 各位!
回复
gh19810529 2009-07-29
学习了 ,长见识了
回复
darkknight85 2009-07-29
这段代码是杜江那本书上的 昨天刚刚做了这个方面的实验 你可以按照第二种方式生成XML代码
回复
darkknight85 2009-07-29
<?php
//预先准备的数组,可以从数据库中抽取出来
$array = array(
array ('title'=>'Google',
'link'=>'http://www.google.com/',
'desc'=>'全球第一大搜索引擎,社我其谁!'
),
array(
'title'=>'Baidu',
'link' =>'http://www.baidu.com/',
'desc' =>'中国最大的搜索引擎,谁与争锋!'
)
);
header('content-Type: application/xml;charset=utf-8');
//显示XML的内容
$xml = records_to_xml($array,"expense");
echo $xml;

function records_to_xml($array, $xmlname){
$xml .= '<?xml version="1.0" encoding="utf-8" ?>' . "\n";
$xml .= "<$xmlname>\n";
foreach ($array as $key => $subarray){
foreach ($subarray as $k => $v){
$xml .= "<$k>$v</$k>\n";
}
}
$xml.="</$xmlname>\n";
return $xml;
}

?>
回复
darkknight85 2009-07-29
$doc = new DOMDocument(1.0);
$doc -> loadHTMLFile('XmlDomHtml.html');
$head = $doc-> getElementsByTagName('head');
$body = $doc-> getElementsByTagName('body');
getTitle($head);
parseBody($body);

function getTitle($head){
foreach ($head as $header){
if($header->tagName == 'title'){
echo ("网页标题:{$header->textContent}<br />");
}
}
}

function parseBody($Body){
$bodyTag = $Body-> item(0);
foreach ($bodyTag->childNodes as $element){
$content=htmlspecialchars($element->textContent);
switch ($element->tagName){
case 'h2':
echo "标题2:{$content}<br />";
break;
case 'p':
echo "段落:{$content}<br />";
break;
case 'form':
foreach ($element->childNodes as $input){
if ($input->nodeType != XML_ELEMENT_NODE){
continue;
}
if ($input->tagName == 'select'){
parseSelect($input);
}
}
break;
default:
echo $content->tagName.'<br />';
break;
}
}
}

function parseSelect($select){
echo "下拉选择菜单:<ul>";
$options = $select->childNodes;
foreach ($options as $option){
$content = htmlspecialchars($option->textContent);
echo "<li>{$content}";
if ($option->hasAttribute('selected')){
echo ' <<<默认选择项';
}
echo "</li>";
}
echo '</ul>';
}

巧了 昨天刚刚做的实验
回复
发动态
发帖子
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
社区公告
暂无公告