重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
先给你个以前写的读取xml格式的天气预报的代码吧,比着前高葫芦画瓢,不懂再追问
创新互联建站坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站设计、成都网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的沂南网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
?php
$apistr=file_get_contents(";ak=B8aced94da0b345579f481a1294c9094"); //获取xml内容
$apiobj=simplexml_load_string($apistr);//解析xml代码
$todayobj=$apiobj-results-result[0]-date;//读取星慧银尺期
$weatherobj=$apiobj-results-result[0]-weather;//读取天气
$windobj=$apiobj-results-result[0]-wind;//读取风力
$temobj=$apiobj-results-result[0]-temperature;//读取温度
$contentStr = "上海\n{$todayobj}\n天气:{$weatherobj}\n风力搏御:{$windobj}\n温度:{$temobj}";
echo $contentStr;
?
//假设xml字符串
$postStr = 'xmlToUserName![CDATA[toUser]]/ToUserNameFromUserName![CDATA[FromUser]]/FromUserNameCreateTime123456789/CreateTimeMsgType![CDATA[text]]启搏/MsgTypeContent![CDATA[p1]]/Content/xml';
$postObj = simplexml_load_string($postStr, 'SimpleXMLElement'亏中, LIBXML_NOCDATA);
var_dump($postObj);
/**
object(SimpleXMLElement)[16] public 'ToUserName' = string 'toUser' (length=6) public 'FromUserName' = string 'FromUser'悄空祥 (length=8) public 'CreateTime' = string '123456789' (length=9) public 'MsgType' = string 'text' (length=4) public 'Content' = string 'p1' (length=2)
*/
//把xml字符串解析为对象
在该示例中,simplexml_load_file 函数用于加载 XML 文件并将其作为 SimpleXMLElement 对象返回。然后,我们可以使用 children() 方法访问根节点的所有子节点,并使用 getName() 方法获取每个子节点的名称兄蠢。接下来,我们可以继续使用银肆 children() 方法访问每个子节点的所有子节点,以此类推,直到达到所需的级羡搏陪别。
.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;
}