php 解析XML DOMXPath的例子

 更新时间:2016年11月25日 16:53  点击:2025
在php中解析xml我们有许多的选择了,这里我们使用DOMDocument模块来处理xml文件吧,下面就一起来看一个使用DOMDocument解析xml的例子。

xml文件结构如下

 

xml

php代码解析:

$url="";//输出xml的URL

 

$dom = new DOMDocument('1.0', 'utf-8');

 

$dom->load($url);

 

这样我们捕获里XML数据,然后一点点截取,这段XML有多个URL节点,需要利DOMPATH解析

$xpath = new DOMXPath($dom);

 

$node = '//url';

 

$length = $xpath->query($node)->length;

 

然后根据每个url内的字节点去获取数据

for($i = 0; $i < $length; $i++) {

$data = array();

$m_date = date('Y-m-d', strtotime($xpath->query($node.'['.($i+1).']/date')->item(0)->nodeValue));

$m_start = $xpath->query($node.'['.($i+1).']/start')->item(0)->nodeValue;

$m_end = $xpath->query($node.'['.($i+1).']/end')->item(0)->nodeValue;

$m_title = $xpath->query($node.'['.($i+1).']/title')->item(0)->nodeValue;

$m_format = $xpath->query($node.'['.($i+1).']/format')->item(0)->nodeValue;

$m_season = $xpath->query($node.'['.($i+1).']/season')->item(0)->nodeValue;

$m_round = $xpath->query($node.'['.($i+1).']/round')->item(0)->nodeValue;

/*$homeTeam = $xpath->query($node.'['.($i+1).']/homeTeam')->item(0)->nodeValue;

if(empty($homeTeam)) continue;

$guestTeam = $xpath->query($node.'['.($i+1).']/guestTeam')->item(0)->nodeValue;

if(empty($guestTeam)) continue;*/

 

$homeTeam = $xpath->query($node.'['.($i+1).']/homeTeam')->item(0)->nodeValue;

$guestTeam = $xpath->query($node.'['.($i+1).']/guestTeam')->item(0)->nodeValue;

if(empty($guestTeam) || empty($homeTeam)) {

if($m_title){

$temp_title=explode(" ", $m_title);

list($homeTeam,$guestTeam)=explode("vs", $temp_title[1]);

unset($temp_title);

}

}

if(empty($homeTeam)) continue;

if(empty($guestTeam)) continue;

 

}

 

在php中处理xml文档的类或插件是非常的多了,今天我来为各位介绍xmlreader simplexmlDOMDocument 等读取xml的例子,希望下文能帮助到大家。

要处理 XML 文件,有两种传统的处理思路: SAX 和 DOM 。 SAX 基于事件触发机制,对 XML 文件进行一次扫描,完成要进行的处理; DOM 则将整个 XML 文件构造为一棵 DOM树,通过对 DOM 树的遍历完成处理。这两种方法各有优缺点, SAX 的处理思路相对抽象,DOM 的处理过程相对烦琐,都不很适合新手的入门。PHP5 推出了一套新的 XML 处理函数,即 SimpleXML 。名如其实, SimpleXML 本身小巧精干,只提供了少量的几个方法函数,但用它处理起 XML 文件功能却非常强大,操作也非常的简单。

一,什么是xml,xml有什么用途

XML(Extensible Markup Language)即可扩展标记语言,它与HTML一样,都是SGML(Standard Generalized Markup Language,标准通用标记语言)。Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。
XML的用途很多,可以用来存储数据,可以用来做数据交换,为很多种应用软件提示数据等等。

二,php读取xml的方法

xml源文件
 

 代码如下 复制代码
<?xml version="1.0" encoding="UTF-8"?> 
  <humans> 
  <zhangying> 
  <name>张映</name> 
  <sex>男</sex> 
  <old>28</old> 
  </zhangying> 
  <tank> 
  <name>tank</name> 
  <sex>男</sex> 
  <old>28</old> 
  </tank> 
  </humans> 

1)DOMDocument读取xml
 

 代码如下 复制代码
  <?php 
  $doc = new DOMDocument(); 
  $doc->load('person.xml');         //读取xml文件 
   
  $humans = $doc->getElementsByTagName( "humans" );         //取得humans标签的对象数组 
 
  foreach( $humans as $human ) 
  { 
  $names = $human->getElementsByTagName( "name" );           //取得name的标签的对象数组 
  $name = $names->item(0)->nodeValue;                                        //取得node中的值,如<name> </name> 
   
  $sexs = $human->getElementsByTagName( "sex" ); 
  $sex = $sexs->item(0)->nodeValue; 
  
  $olds = $human->getElementsByTagName( "old" ); 
  $old = $olds->item(0)->nodeValue; 
  
  echo "$name - $sex - $old\n"; 
  
  } 
  ?> 

2)simplexml读取xml
 

 代码如下 复制代码
<?php 
$xml_array=simplexml_load_file('person.xml');                        //将XML中的数据,读取到数组对象中 
 
foreach($xml_array as $tmp){ 
 echo $tmp->name."-".$tmp->sex."-".$tmp->old."<br>";    

 
?> 

3)用php正则表达式来记取数据
 

 代码如下 复制代码
<?php 
  $xml = ""; 
  $f = fopen('person.xml', 'r'); 
  while( $data = fread( $f, 4096 ) ) { 
   $xml .= $data; 
  } 
  fclose( $f ); 
  // 上面读取数据 
  preg_match_all( "/\<humans\>(.*?)\<\/humans\>/s", $xml, $humans );       //匹配最外层标签里面的内容 
   
  foreach( $humans[1] as $k=>$human ) 
  { 
   preg_match_all( "/\<name\>(.*?)\<\/name\>/", $human, $name );             //匹配出名字 
   preg_match_all( "/\<sex\>(.*?)\<\/sex\>/", $human, $sex );                        //匹配出性别 
   preg_match_all( "/\<old\>(.*?)\<\/old\>/", $human, $old );                        //匹配出年龄 
  } 
 
 foreach($name[1] as $key=>$val){ 
  echo $val." - ".$sex[$key][1]." - ".$old[$key][1]."<br>" ; 
 } 
?> 

4)xmlreader来读取xml数据
 

 代码如下 复制代码

<?php 
$reader = new XMLReader(); 
$reader->open('person.xml');                                                     //读取xml数据 
$i=1; 
while ($reader->read()) {                                                              //是否读取 
 if ($reader->nodeType == XMLReader::TEXT) {               //判断node类型 
  if($i%3){ 
   echo $reader->value;                                                                  //取得node的值 
  }else{ 
   echo $reader->value."<br>" ; 
  } 
  $i++; 
 } 

?> 


 

使用 DOMDocument 操控 XML

1. DOMDocument 解析 XML

 代码如下 复制代码

// 创建一个 DOMDocument()

$_doc = new DOMDocument();

// 载入 xml

$_doc ->load( 'test.xml' );

// 取 version 标签

$_version = $_doc ->getElementsByTagName( 'version' );

echo $_version ->item( 2 )->nodeValue;

// 遍历 version 标签

foreach ( $_version as $v ) {

echo $v ->nodeValue;

}

2. DOMDocument 生成 XML

// 声明 xml

$_doc = new DOMDocument( '1.0' , 'utf-8' );

// 排版格式

$_doc ->formatOutput = true ;

// 创建一个主标签

$_root = $_doc ->createElement( 'root' );

// 创建一个一级标签 version

$_version = $_doc ->createElement( 'version' );

// 给 version 标签里赋值

$_versionTextNode = $_doc ->createTextNode( '1.0' );

// 将值放入 version 标签里

$_version ->appendChild( $_versionTextNode );

// 将一级标签 version 放入 root 里

$_root ->appendChild( $_version );

// 将主标签写入 xml

$_doc ->appendChild( $_root );

// 生成 xml

$_doc ->save( 'aaa.xml' );


很多情况下 , 手工生成标记要求从上到下生成文档 , 必须保证标签都是完整的 , 开始和结束标签。尽管借助于一些 PHP 函数或类可以有所改善,不过 PHP 还提供了一组更有帮助的内置对象和函数。文档对象模型( Document Object Model , DOM )提供了一个树状结构,能很容易创建和处理标签。

三,小结

读取xml的方法很多,简单举几个。上面四种方法都是可以把标签中的数据读出来,<name>张映</name>.但是他们的测重点不同,前三种方法的读取xml的function的设计重点,是为了读取标签中的值,相当于jquery中的text()方法,而xmlreader呢他就不太一样,他的重点不在读取标签中的值,而读取标签的属性,把要传送的数据,都放在属性中(不过我上面写的那个方法还是取标签中的值,因为xml文件已经给定了,我就不想在搞xml文件出来了)。举个例子解释一下,
<data name='张映'  sex='男' old='28'></data>
xmlreader的设计重点是为了读data里面的name sex old的值,而读取<data></data>的内容就比较麻烦了。他相当于jquery中attr('');这个东西。

php操作xml类主要是针对xml文件夹一个读取查询删除数据例子,下面一起来看看,目前此类暂只支持三级节点哦。

文件名:xml.class.php

 代码如下 复制代码
/***
* *
* 文件名: xml.php *
* 作 用: xml类,完善中,暂只支持三级节点 *
* 作 者: loking(biyees) *
* *
* example 读取数据: *
* $xml = new xml(“dbase.xml”,’table’); *
* $data=$xml->xml_fetch_array(); *
* echo ”<pre style=\”font-size:12px;\”>”; *
* print_r($data); *
* *
******************/
class xml{
var $dbase; //数据库,要读取的XML文件
var $dbname; //数据库名称,顶层元素,与数据库文件名称一致
var $dbtable; //数据表,要取得的节点
var $parser; //剖析器
var $vals; //属性
var $index; //索引
var $dbtable_array;//节点数组
var $array; //下级节点的数组
var $result; //返回的结果
var $querys;
 
function xml($dbase,$dbtable){
$this->dbase=$dbase;
$this- >dbname=”document”;
$this- >dbtable=$dbtable;
$data=$this- >ReadXml($this->dbase);
if(!$data){
die( ”无法读取 $this->dbname.xml”);
}
$this- >parser = xml_parser_create();
xml_parser_set_option($this- >parser,XML_OPTION_CASE_FOLDING,0);
xml_parser_set_option($this- >parser,XML_OPTION_SKIP_WHITE,1);
xml_parse_into_struct($this- >parser,$data,$this->vals,$this->index);
xml_parser_free($this- >parser);
//遍历索引,筛选出要取值的节点 节点名:$dbtable
foreach ($this- >index as $key=>$val) {
if ($key == $this- >dbtable) {
//取得节点数组
$this- >dbtable_array = $val;
} else {
continue;
}
}
for ($i=0; $i < count($this->dbtable_array); $i+=2) {
$offset = $this- >dbtable_array[$i] + 1;
$len = $this- >dbtable_array[$i + 1] - $offset;
//array_slice() 返回根据 offset 和 length 参数所指定的 array 数组中的一段序列。
//所取节点下级数组
$value=array_slice($this- >vals,$offset,$len);
//取得有效数组,合并为结果数组
$this- >array[]=$this->parseEFF($value);
}
return true;
}
//将XML文件读入并返回字符串
function ReadXml($file)
{
return file_get_contents($file);
}
//取得有效数组
function parseEFF($effective) {
for ($i=0; $i < count($effective); $i++){
$effect[$effective[$i][ "tag"]] = $effective[$i]["value"];
}
return $effect;
}
//xml_query(方法,条件,多条件时逻辑运算符and or or,总数据数组,插入或更新的数组)
function xml_query($method,$condition,$if=’and’,$array=array())
{
if(($method==’select’)||($method==’count’)){
return $this- >xml_select($method,$condition,$if);
} elseif($method==’insert’) {
return $this- >xml_insert($condition,$if,$array);
} elseif($method==’update’) {
return $this- >xml_update($condition,$if,$array);
}
}
//取得xml数组
function xml_fetch_array($condition,$if)
{
//$this- >querys++;
$row = $this- >array; //初始化数据数组
if($condition) {
//是否有条件,如有条件则生成符合条件的数组
//生成条件数组,条件格式 field,operator,match
$condition=explode( ”,”,$condition);//条件数组
$cs=count($condition)/3; //条件数
for($i=0;$i <$cs;$i++){
$conditions[]=array( ”field”=>$condition[$i*3],”operator”=>$condition[$i*3+1],”match”=>$condition[$i*3+2]);
}
//echo count($row);
for($r=0;$r <count($row);$r++){
for($c=0;$c <$cs;$c++){
//$i++;
$condition=$conditions[$c]; //当前条件
$field=$condition['field']; //字段
$operator=$condition[ "operator"];//运算符
$match=$condition['match']; //匹配
if(($operator==’=') &&($row[$r][$field]==$match)){
$true++;//若条件符合,符合数加1
} elseif(($operator==’!=’) &&($row[$r][$field]!=$match)){
$true++;//若条件符合,符合数加1
} elseif(($operator==’ <’)&&($row[$r][$field]<$match)){
$true++;//若条件符合,符合数加1
} elseif(($operator==’ <=’)&&($row[$r][$field]<=$match)){
$true++;//若条件符合,符合数加1
} elseif(($operator==’ >’)&&($row[$r][$field]>$match)){
$true++;//若条件符合,符合数加1
} elseif(($operator==’ >’)&&($row[$r][$field]>=$match)){
$true++;//若条件符合,符合数加1
}
}
//根据条件取值
if($if==’and’){
//如果多条件为and,当符合数等于条件数时,生成数组
if($true==$cs){
$result[]=$row[$r];
}
} else {
//如果多条件为or,当有符合纪录时,生成数组
if($true!=0){
$result[]=$row[$r];
}
}
//echo $true;
//echo ”<pre style=\”font-size:12px;\text-align:left\”>”;
//print_r($true);
$true=0;//符合条件数归零,进入下一轮循环
}
} else {
$result=$this- >array;
}
//echo ”<pre style=\”font-size:12px;\text-align:left\”>”;
//print_r($this- >result);
return $result;
}
//筛选或统计
function xml_select($method,$condition,$if)
{
$result=$this- >xml_fetch_array($condition,$if);
if($method==’select’){
return $result;
} else {
return count($result);
}
}
//插入数据
function xml_insert($condition,$if,$array)
{
$data=$this- >xml_fetch_array($condition,$if);//总数据数组
$data[]=$array; //插入后的总数据数组
$this- >array=$data; //更新总数组
$this- >WriteXml($data);
}
//得到更新的XML并改写
function xml_update($condition,$if,$array){
$datas=$this- >array; //总数据数组
$subtract=$this- >xml_fetch_array($condition,$if);//要更新的数组
//echo ”<pre style=\”font-size:12px;\text-align:left\”>”;
//print_r($data);
//print_r($datas);
//echo ”每条记录中有“.count($datas[0]).”个值<br>”;
for($i=0;$i <count($datas);$i++){
$data=$datas[$i];
//echo ”原始记录中的第“.$i.”条<br>”;
foreach($data as $k= >$v){
//echo ”-第“.$i.”条的“.$k.”值为“.$v.”<br>”;
//echo ”–要查找的数组“.$k.”值为“.$subtract[0][$k].”<br>”;
if($v==$subtract[0][$k]){
$is++;
}
}
if($is==count($data)){
//echo ”—-与第“.$i.”条符合<br>”;
$datas[$i]=$array;
//array_splice($datas,$i,$i+1);
}
//echo ”原始记录中的第“.$i.”条与要查找的有“.$is.”匹配<br>”;
//echo ”原始记录中的第“.$i.”条结束<br>”;
$is=0;
}
//array_splice($datas,2,2+1,$array);
//echo ”<pre style=\”font-size:12px;\text-align:left\”>”;
//print_r($datas);
$this- >array=$datas;
$this- >WriteXml($datas);
 
}
//写入XML文件(全部写入)
function WriteXml($array)
{
if(!is_writeable($this- >dbase)){
die( ”无法写入“.$this->dbname.”.xml”);
}
$xml.= ”<?xml version=\”1.0\” encoding=\”gb2312\”?>\r\n”;
$xml.= ”<$this->dbname>\r\n”;
for($i=0;$i <count($array);$i++){
$xml.= ”<$this->dbtable>\r\n”;
foreach($array[$i] as $k= >$s){
$xml.= ”<$k>$s</$k>\r\n”;
}
$xml.= ”</$this->dbtable>\r\n”;
}
$xml.= ”</$this->dbname>”;
dbase,”w’>$fp=@fopen($this->dbase,”w”);
flock($fp, LOCK_EX);
rewind($fp);
fputs($fp,$xml);
fclose($fp);
}
//逐行写入xml(我试着写入10000行,感觉没一次写入快,所以没用这种写入方式)
function WriteLine($array)
{
if(!is_writeable($this- >dbase)){
die( ”无法写入“.$this->dbname.”.xml”);
}
dbase,”w’>$fp=@fopen($this->dbase,”w”);
rewind($fp);
flock($fp, LOCK_EX);
fputs($fp, ”<?xml version=\”1.0\” encoding=\”gb2312\”?>\r\n”);
fputs($fp, ”<$this->dbname>\r\n”);
for($i=0;$i <count($array);$i++){
fputs($fp, ”<$this->dbtable>\r\n”);
$xml.= ”<$this->dbtable>\r\n”;
foreach($array[$i] as $k= >$s){
fputs($fp, ”<$k>$s</$k>\r\n”);
}
fputs($fp, ”</$this->dbtable>\r\n”);
}
fputs($fp, ”</$this->dbname>”);
fclose($fp);
}
}
?>
 

使用方法:

插入一条记录

 代码如下 复制代码

require_once(‘xml.class.php’);

$xml = new xml(“exemple.xml”,”item”);

$newarray = array(

“title”=>”XML标题“,

“text”=>”PHP的XML类测试!“

);

$insert=$xml->xml_query(‘insert’,”,”,$newarray);//第二及第三个变量位置是条件,留空表示在最后插入

修改记录

require_once(‘xml.class.php’);

$xml = new xml(“exemple.xml”,”item”);

$array = array(

“title”=>”XML标题“,

“text”=>”PHP的XML类测试!“

);

$insert=$xml->xml_query(‘update’,'title,=,20年后世界将会怎样?‘,’and’,$array);//title标签等于xxx的用$array替换(可以建唯一属性的标签,比如id,这样就可以修改某一条记录)

删除记录

 代码如下 复制代码

require_once(‘xml.class.php’);

$xml = new xml(“exemple.xml”,”item”);

$array = array();

$insert=$xml->xml_query(‘update’,'title,=,20年后世界将会怎样?‘,’and’,$array);//数组留空

备注

删除时其实是把值变空,我们可以修改一下xml_update(),在生成xml文件之前先判断$array的值,如果值为空就不写入到最终的数组中就是删除的效果了。

写入xml文件时速度粉快(我测试过30000条记录的情况),插入时只插入一条记录,修改速度也相当的快,挺适合中型网站生成XML时使用,所以推荐一下。

PHP如何读取xml文件?有不少朋友不知道这个问题,其实php对于xml文档是有专门的函数来操作了,下面我们就来举几个php读取xml例子希望能给各位带来帮助。

一,什么是xml,xml有什么用途

XML(Extensible Markup Language)即可扩展标记语言,它与HTML一样,都是SGML(Standard Generalized Markup Language,标准通用标记语言)。Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。
XML的用途很多,可以用来存储数据,可以用来做数据交换,为很多种应用软件提示数据等等。

二,php读取xml的方法

xml源文件

 代码如下 复制代码

<?xml version="1.0 encoding="UTF-8"?>
<humans>
<zhangying>
<name>张映</name>
<sex>男</sex>
<old>28</old>
</zhangying>
<tank>
<name>tank</name>
<sex>男</sex>
<old>28</old>
</tank>
</humans>
1)DOMDocument读取xml
<?php
$doc = new DOMDocument();
$doc->load('person.xml'); //读取xml文件
$humans = $doc->getElementsByTagName( "humans" ); //取得humans标签的对象数组
foreach( $humans as $human )
{
$names = $human->getElementsByTagName( "name" ); //取得name的标签的对象数组
$name = $names->item(0)->nodeValue; //取得node中的值,如<name> </name>
$sexs = $human->getElementsByTagName( "sex" );
$sex = $sexs->item(0)->nodeValue;
$olds = $human->getElementsByTagName( "old" );
$old = $olds->item(0)->nodeValue;
echo "$name - $sex - $old\n";
}
?>

2)simplexml读取xml

 代码如下 复制代码
<?php
$xml_array=simplexml_load_file('person.xml'); //将XML中的数据,读取到数组对象中
foreach($xml_array as $tmp){
echo $tmp->name."-".$tmp->sex."-".$tmp->old."<br>";
}
?>
如果你使用 curl 获取的 xml data
$xml = simplexml_load_string($data);
$data['tk'] = json_decode(json_encode($xml),TRUE);
如果是直接获取 URL 数据的话
$xml = simplexml_load_file($data);
$data['tk'] = json_decode(json_encode($xml),TRUE);

先把 simplexml 对象转换成 json,再将 json 转换成数组。
3)用php正则表达式来记取数据

 代码如下 复制代码
<?php
$xml = "";
$f = fopen('person.xml', 'r');
while( $data = fread( $f, 4096 ) ) {
$xml .= $data;
}
fclose( $f );
// 上面读取数据
preg_match_all( "/\<humans\>(.*?)\<\/humans\>/s", $xml, $humans ); //匹配最外层标签里面的内容
foreach( $humans[1] as $k=>$human )
{
preg_match_all( "/\<name\>(.*?)\<\/name\>/", $human, $name ); //匹配出名字
preg_match_all( "/\<sex\>(.*?)\<\/sex\>/", $human, $sex ); //匹配出性别
preg_match_all( "/\<old\>(.*?)\<\/old\>/", $human, $old ); //匹配出年龄
}
foreach($name[1] as $key=>$val){
echo $val." - ".$sex[$key][1]." - ".$old[$key][1]."<br>" ;
}
?>

4)xmlreader来读取xml数据

 代码如下 复制代码
<?php
$reader = new XMLReader();
$reader->open('person.xml'); //读取xml数据
$i=1;
while ($reader->read()) { //是否读取
if ($reader->nodeType == XMLReader::TEXT) { //判断node类型
if($i%3){
echo $reader->value; //取得node的值
}else{
echo $reader->value."<br>" ;
}
$i++;
}
}
?>

三,小结

读取xml的方法很多,简单举几个。上面四种方法都是可以把标签中的数据读出来,张映.但是他们的测重点不同,前三种方法的读取xml的function的设计重点,是为了读取标签中的值,相当于jquery中的text()方法,而xmlreader呢他就不太一样,他的重点不在读取标签中的值,而读取标签的属性,把要传送的数据,都放在属性中(不过我上面写的那个方法还是取标签中的值,因为xml文件已经给定了,我就不想在搞xml文件出来了)。
举个例子解释一下,

 代码如下 复制代码

<data name=’张映’ sex=’男’ old=’28′></data>

xmlreader的设计重点是为了读data里面的name sex old的值,而读取的内容就比较麻烦了。他相当于jquery中attr(”);这个东西。

[!--infotagslink--]

相关文章

  • Linux下PHP安装curl扩展支持https例子

    安装curl扩展支持https是非常的重要现在许多的网站都使用了https了,下面我们来看一篇关于PHP安装curl扩展支持https例子吧。 问题: 线上运行的lamp服务器,默认yu...2016-11-25
  • php常量详细解析

    一、常量常量是一个简单值的标识符(名字)。如同其名称所暗示的,在脚本执行期间该值不能改变(除了所谓的魔术常量,它们其实不是常量)。常量默认为大小写敏感。按照惯例常量标识符总是大写的。 常量名和其它任何 PHP 标签遵循...2015-10-30
  • JavaScript预解析,对象详解

    这篇文章主要介绍了JavaScript预解析,对象的的相关资料,小编觉得这篇文章写的还不错,需要的朋友可以参考下,希望能够给你带来帮助...2021-11-10
  • DOM XPATH获取img src值的query

    复制代码 代码如下:$nodes = @$xpath->query("//*[@id='main_pr']/img/@src");$prurl = $nodes->item(0)->nodeValue;...2013-10-04
  • php使用floor去掉小数点的例子

    floor会产生小数了如果我们不希望有小数我们是可以去除小数点的了,下面一聚教程小编来为各位介绍php使用floor去掉小数点的例子,希望对各位有帮助。 float floor (...2016-11-25
  • C# 如何解析获取Url参数值

    这篇文章主要介绍了C# 如何解析获取Url参数值,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下...2020-09-01
  • error LNK2019: 无法解析的外部符号 问题的解决办法

    error LNK2019: 无法解析的外部符号 问题的解决办法,需要的朋友可以参考一下...2020-04-25
  • JS跨浏览器解析XML应用过程详解

    这篇文章主要介绍了JS跨浏览器解析XML应用过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-10-16
  • JavaScript实现解析INI文件内容的方法

    这篇文章主要介绍了JavaScript实现解析INI文件内容的方法,结合实例形式分析了javascript通过自定义函数实现针对ini文件解析操作的相关处理技巧,需要的朋友可以参考下...2016-11-22
  • C#网络请求与JSON解析的示例代码

    这篇文章主要介绍了C#网络请求与JSON解析的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-06-25
  • 解决无法解析javax.servlet的方法

    最近在创建一个servlet时,自动生成的代码中出现servlet无法解析的提示,令我无法正常使用servlet里的方法,在对各个步骤进行查看后,发现了问题所在,需要的朋友可以参考下...2021-05-15
  • 硬核 Redis 高频面试题解析

    Redis 是一个高性能的key-value数据库。在部分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端使用很方便...2021-06-17
  • 简单了解JavaScript操作XPath的一些基本方法

    XPath构建于XML之上,以表示路径的方式来确定XML中元素位置,事实上并不是太常用,这里我们来简单了解JavaScript操作XPath的一些基本方法...2016-06-12
  • 纯Css实现下拉菜单的简单例子

    下面我们来看一篇关于纯Css实现下拉菜单的简单例子,希望这篇文章能够给各位同学带来帮助,具体步骤如下. 大家可能会经常用到hover这属性,用hover实现鼠标经过的颜...2017-01-22
  • C#域名解析简单实现方法

    这篇文章主要介绍了C#域名解析简单实现方法,可实现针对域名解析显示出主机名、IP地址、别名等功能,需要的朋友可以参考下...2020-06-25
  • C#基础知识 全面解析可空类型

    C# 2.0 中还引入了可空类型,可空类型也是值类型,只是可空类型是包括null的值类型的,下面就介绍下C#2.0中对可空类型的支持具体有哪些内容...2020-06-25
  • Intellij IDEA解析jacoco结果文件的方法

    这篇文章主要介绍了Intellij IDEA解析jacoco结果文件的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-09-25
  • 基于xpath选择器、PyQuery、正则表达式的格式清理工具详解

    这篇文章主要介绍了基于xpath选择器、PyQuery、正则表达式的格式清理工具,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-05-07
  • python之pyinstaller组件打包命令和异常解析实战

    前段时间在制作小工具的时候,直接在命令行用pyinstaller工具打包成功后,启动exe可执行文件的时候各种报错, 今天,我们就分享一下踩坑经过,需要的朋友可以参考下...2021-09-20
  • php时间日期对比与日期加减例子

    在php中日期对比用得比较多了,还有一个日期加减也用到不少,下面我拿两个例子来给大家介绍在php中日期操作方法吧,希望文章能给你带来帮助 功能需求 文章发布时段操...2016-11-25