PHP XPath快速查找xml元素实例: 词典(xml) 查询词条
2018-01-21 17:07
639 查看
dict_select2.php:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<?php
$res = "";
if (isset($_POST['word'])) {
$word = trim($_POST['word']);
$dom = new DOMDocument('1.0','utf-8');
$dom->load('dict.xml');
$xpath = new DOMXPath($dom);
$query = "/cetsix/word[name='$word']/mean"; //利用XPath优化查询速度
$nodes = $xpath->query($query); //不需要foreach循环,查询速度快。
if ($nodes->length > 0) {
//找到
$res = $nodes->item(0)->nodeValue;
} else {
$res = "没有该词条";
}
/* 这种查询词条的方式很慢
$names = $dom->getElementsByTagName('name');
$means = $dom->getElementsByTagName('mean');
//循环查询
foreach ($names as $k => $name) {
if ($name->nodeValue == $word) { //这种查询方式很慢。
//找到,就把对应的mean保存起来,然后退出循环
$res = $means->item($k)->nodeValue;
break;
}else {
//赋值,提示信息
$res = "没有该词条";
}
}
*/
}
?>
<form action="" method="post">
<label for="">请输入要查询的单词:</label>
<input type="text" name="word" value="<?php echo isset($word)? $word:''?>">
<input type="submit" value="查询">
</form>
<p>
<?php echo $res;?>
</p>
</body>
</html>dict.xml:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<?php
$res = "";
if (isset($_POST['word'])) {
$word = trim($_POST['word']);
$dom = new DOMDocument('1.0','utf-8');
$dom->load('dict.xml');
$xpath = new DOMXPath($dom);
$query = "/cetsix/word[name='$word']/mean"; //利用XPath优化查询速度
$nodes = $xpath->query($query); //不需要foreach循环,查询速度快。
if ($nodes->length > 0) {
//找到
$res = $nodes->item(0)->nodeValue;
} else {
$res = "没有该词条";
}
/* 这种查询词条的方式很慢
$names = $dom->getElementsByTagName('name');
$means = $dom->getElementsByTagName('mean');
//循环查询
foreach ($names as $k => $name) {
if ($name->nodeValue == $word) { //这种查询方式很慢。
//找到,就把对应的mean保存起来,然后退出循环
$res = $means->item($k)->nodeValue;
break;
}else {
//赋值,提示信息
$res = "没有该词条";
}
}
*/
}
?>
<form action="" method="post">
<label for="">请输入要查询的单词:</label>
<input type="text" name="word" value="<?php echo isset($word)? $word:''?>">
<input type="submit" value="查询">
</form>
<p>
<?php echo $res;?>
</p>
</body>
</html>dict.xml:
<?xml version="1.0" encoding="utf-8"?> <cetsix> <word> <name>you can you up</name> <mean>你行你上</mean> <lx>you can you up ,no can no bebe</lx> </word> <word> <name>no zuo no die</name> <mean>不作死就不会死</mean> <lx>no zuo no die</lx> </word> </cetsix>
相关文章推荐
- PHP中XPATH 实现xml及html文件快速解析(附xml做小型数据库实现六级单词快速查询实例)
- PHP DOM操作xml实例:词典(xml) 查询词条
- PHP XPath(xml中快速查找)
- PHP XPath谓语(xml中快速查找并筛选)
- PHP DOM操作xml实例:词典(xml) 添加词条
- php+xml编程之xpath的应用实例
- php 使用xpath进行查询XML操作
- php+xml实现在线英文词典查询的方法
- 通过xpath查询xml中的节点并修改节点元素值
- php中xpath查找xml的节点和节点属性值
- php 加xml创建小型词典查询系统
- php冒泡排序、快速排序、快速查找、二维数组去重实例分享
- C#通过xpath查找xml指定元素的方法
- PHP使用xpath解析XML实例教程
- php+xml编程之xpath的应用实例
- javawebday61(省市联动ajax xpath查找元素 xstream用法toXML
- PHP DOM操作XML文档,查询遍历结点元素
- C# 通过XPath查询/搜索/查找XML
- 通过xpath查询xml中的节点并修改节点元素值
- php冒泡排序、快速排序、快速查找、二维数组去重实例分享