XML 做小型数据库

XML可以做配置文件,也可以当数据库,这次来个数据库使用吧

1 将数据库导入到xml文件

<?php
/***
dict 表
id  word    mean
1   score   分数
2   title   标题
...
...
...
13121   zlib zlib库


<?xml ..?>
<dict>
<word id="w1">
    <name>score</name>
    <mean>分数</mean>
</word>
<word id="w2">
    <name>score</name>
    <mean>分数</mean>
</word>
...
....
<word id="w13211">
    <name>score</name>
    <mean>分数</mean>
</word>
</dict>


利用XML做小型数据库,做一个在线词典查询

1:把数据库的单词导入到XML文件
2:做一个表单用来发送待查询单词
3:做一个查询页面,解析XML,查询该单词
***/



$xml = new DOMDocument('1.0','utf-8');
$xml->load('./dict.xml');

$dict = $xml->getElementsByTagName('dict')->item(0);

$conn = mysql_connect('localhost','root','111111');
mysql_query('use test',$conn);

$rs = mysql_query('select * from cetsix');



while($row = mysql_fetch_assoc($rs)) {
    // 每一行数据,只要写入到XML的节点中,就可以了.

    $lx = $xml->createElement('lx');
    $lx->appendChild($xml->createCDATASection($row['lx']));

    $mean = $xml->createElement('mean');
    $mean->appendChild($xml->createCDATASection($row['meaning']));

    $name = $xml->createElement('name');
    $name->appendChild($xml->createtextNode($row['word']));

    $word = $xml->createElement('word');
    $word->appendChild($name);
    $word->appendChild($mean);
    $word->appendChild($lx);

    $dict->appendChild($word);
    
}

$xml->save('./dict.xml');

echo 'OK';


进行查询:

<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-CN">
<head>
<title>新建网页</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

</head>
    <body>
        <h2>XML做小型数据库,完成在线词典</h2>
        <form action="query.php">
            <p>
                单词:<input type="text" name="word"  />
            <p>
            <p>
                <input type="submit" value="查询"  />
            </p>
        </form>

        <div id="abc">
            分析html,干吗非得用正则,DOM解析不行吗?
        </div>

        <div><p><span>aaaa</span><span>bbbbspan</span></p></div>
    </body>
</html>

php代码:

<?php
// 接收单词并解析XML查询相应的单词
$word = isset($_GET['word'])?trim($_GET['word']):'';

if(empty($word)) {
    exit('你想查啥?');
}


// 解析XML并查询
$xml = new DOMDocument('1.0','utf-8');
$xml->load('./dict.xml');


$namelist = $xml->getElementsByTagName('name');

$isfind = false;

foreach($namelist as $v) {
    if($v->nodeValue == $word) {
        //print_r($v);
        echo $word,'<br />';
        echo '意思:',$v->nextSibling->nodeValue,'<br />';
        echo '例句:',$v->nextSibling->nextSibling->nodeValue,'<br />';

        $isfind = true;
        break;
    }
}

if(!$isfind) {
    echo 'sorry';
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类
XML入门的常见问题(二)
Java对象的强、软、弱和虚引用
JS解析XML文件和XML字符串详解
java中枚举的详细使用介绍
了解Xml格式
XML入门的常见问题(四)
深入SQLite多线程的使用总结详解
PlayFramework完整实现一个APP(一)
XML和YAML的使用方法
XML轻松学习总节篇