您的位置:

php处理xml信息,xml输出

本文目录一览:

PHP 读取和编写 XML

什么是

XML?

XML

是一种数据存储格式。它没有定义保存什么数据,也没有定义数据的格式。XML

只是定义了标记和这些标记的属性。格式良好的

XML

标记看起来像这样:

复制代码

代码如下:

nameJack

Herrington/name

DOM读取

XML

复制代码

代码如下:

?php

$doc

=

new

DOMDocument();

$doc-load(

'books.xml'

);

$books

=

$doc-getElementsByTagName(

"book"

);

foreach(

$books

as

$book

)

{

$authors

=

$book-getElementsByTagName(

"author"

);

$author

=

$authors-item(0)-nodeValue;

$publishers

=

$book-getElementsByTagName(

"publisher"

);

$publisher

=

$publishers-item(0)-nodeValue;

$titles

=

$book-getElementsByTagName(

"title"

);

$title

=

$titles-item(0)-nodeValue;

echo

"$title

-

$author

-

$publisher\n";

}

?

DOM

编写

XML

复制代码

代码如下:

?php

$books

=

array();

$books

[]

=

array(

'title'

=

'PHP

Hacks',

'author'

=

'Jack

Herrington',

);

$doc

=

new

DOMDocument();

//创建dom对象

$doc-formatOutput

=

true;

$r

=

$doc-createElement(

"books"

);//创建标签

$doc-appendChild(

$r

);

//将$r标签,加入到xml格式中。

foreach(

$books

as

$book

)

{

$b

=

$doc-createElement(

"book"

);

//创建标签

$author

=

$doc-createElement(

"author"

);

$author-appendChild($doc-createTextNode(

$book['author']

));

//给标签添加内容

$b-appendChild(

$author

);

//将子标签

加入父标签

$r-appendChild(

$b

);

//加入父标签中!

}

echo

$doc-saveXML();

?

以上就是这2段读取和编写XML的DOM代码了,小伙伴们了解了没,有什么疑问可以给我留言

php解析xml字符串,该怎么处理

编写示例代码如下,经运行测试通过:

?php

$xmlStr = XML

?xml version='1.0' encoding='UTF-8'?

ExportData

Body

Content

Id1/Id

NameTest01/Name

Point40/Point

/Content

Content

Id2/Id

NameTest02/Name

Point80/Point

/Content

/Body

/ExportData

XML;

$xml = new SimpleXMLElement($xmlStr);

foreach($xml-Body-Content as $item){

echo 'ID: '.$item-Id."br/\n";

echo 'Name: '.$item-Name."br/\n";

echo 'Point: '.$item-Point."br/br/\n";

}

?

PHP如何处理XML并保存到MYSQL

meta http-equiv="Content-Type" content="text/html; charset=utf-8"

?php

//脚本永不结束

set_time_limit(0);

//数据库连接

mysql_connect('host', 'user', 'password');

mysql_select_db('database');

while(true){

    //这里不知道你的xml来源,改为你自己的来源,读入xml变量

    $xml = 'xmlrow expect="201412345" opencode="1,2,3,4,5" opentime="2014-11-11 11:11:11"//xml';

    

    //解析xml内容

    $obj = simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA);

    $expect = $obj-row['expect'];

    $opencode = $obj-row['opencode'];

    $opentime = $obj-row['opentime'];

    

    $sql='INSERT INTO table VALUES (\''.$expect.'\',\''.$opencode.'\',\''.$opentime.'\')';

    mysql_query($sql);

    

    //休息60秒

    sleep(60);

}

由于php没有线程概念,这个页面要运行的话,必须维持一个在浏览器打开状态

这里的代码只是简单的示例,具体的逻辑你可以根据需求自己完善

php解析xml

.asmx的全程是ASMX Active Server Methods,.asmx 是WEB服务文件,asmx.cs里有相关代码

属于B/S形式,用SOAP方式HTTP访问,用XML返回。

以下是 php语言 利用 soap调用.Net的WebService asmx文件

?php

//php.ini中打开下面3个dll

//extension = php_soap.dll

//extension = php_curl.dll

//extension = php_openssl.dll

header("content-type:text/html;charset=utf-8");

$client = new SoapClient(" ");

//本行测试不可行 $client = new SoapClient(" ;psw=123");

//参数这样传递 先包装一下

$param = array('username'='test3','psw'='123');

//调用必须用__soapCall

$p = $client-__soapCall('ChkWele',array('parameters' = $param));

print_r($p-ChkWeleResult); //这里先输出一下变量$p,看看是什么类型。

?

.NET部分 webservice要注意的地方

/*

* system.web在这个节点中加入如下内容

webServices

protocols

add name="HttpSoap"/

add name="HttpPost"/

add name="HttpGet"/

add name="Documentation"/

/protocols

/webServices

*/

[WebMethod(Description = "This......", EnableSession = false)]

public string ChkWele(string username, string psw)

{

string ret = "";

return ret;

}