这是我的XML:
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<notifications xmlns="http://soap.sforce.com/2005/09/outbound">
<OrganizationId>00Dp00000008kXDEAY</OrganizationId>
<ActionId>04k28000000L3shAAC</ActionId>
<SessionId xsi:nil="true"/>
<EnterpriseUrl>https://232.salesforce.com/services/Soap/c/36.0/00Dp00000008kXD</EnterpriseUrl>
<PartnerUrl>https://232.salesforce.com/services/Soap/u/36.0/00Dp00000008kXD</PartnerUrl>
<Notification>
<Id>034l3004D4247lVAAS</Id>
<sObject xsi:type="sf:SMS_Activity__c" xmlns:sf="urn:sobject.enterprise.soap.sforce.com">
<sf:Id>a0Ip0000001WxvaEAC</sf:Id>
<sf:Brand__c>ABC</sf:Brand__c>
<sf:Content__c>halo test</sf:Content__c>
<sf:Mobile__c>628145783535</sf:Mobile__c>
</sObject>
</Notification>
</notifications>
</soapenv:Body>
</soapenv:Envelope>
请帮我看看(品牌,content__C,mobile__c)的价值 用PHP代码?
我无法从我尝试以下代码获得Mobile__c
$notif=simplexml_load_string($xml);
$Mobile=$notif->sObject-
>children('urn:sobject.enterprise.soap.sforce.com')-
>Mobile__c.PHP_EOL;
$qd="";
$qd="insert into incoming(phone) values('$Mobile')";
mysql_query($qd);
答案 0 :(得分:0)
试试这个希望这会帮助你..
<?php
ini_set('display_errors', 1);
$string='<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<notifications xmlns="http://soap.sforce.com/2005/09/outbound">
<OrganizationId>00Dp00000008kXDEAY</OrganizationId>
<ActionId>04k28000000L3shAAC</ActionId>
<SessionId xsi:nil="true"/>
<EnterpriseUrl>https://232.salesforce.com/services/Soap/c/36.0/00Dp00000008kXD</EnterpriseUrl>
<PartnerUrl>https://232.salesforce.com/services/Soap/u/36.0/00Dp00000008kXD</PartnerUrl>
<Notification>
<Id>034l3004D4247lVAAS</Id>
<sObject xsi:type="sf:SMS_Activity__c" xmlns:sf="urn:sobject.enterprise.soap.sforce.com">
<sf:Id>a0Ip0000001WxvaEAC</sf:Id>
<sf:Brand__c>ABC</sf:Brand__c>
<sf:Content__c>halo test 1</sf:Content__c>
<sf:Mobile__c>6281457835351</sf:Mobile__c>
</sObject>
</Notification> <Notification>
<Id>034l3004D4247lVAAS</Id>
<sObject xsi:type="sf:SMS_Activity__c" xmlns:sf="urn:sobject.enterprise.soap.sforce.com">
<sf:Id>a0Ip0000001WxvaEAC</sf:Id>
<sf:Brand__c>ABC2</sf:Brand__c>
<sf:Content__c>halo test 2</sf:Content__c>
<sf:Mobile__c>6281457835352</sf:Mobile__c>
</sObject>
</Notification> <Notification>
<Id>034l3004D4247lVAAS</Id>
<sObject xsi:type="sf:SMS_Activity__c" xmlns:sf="urn:sobject.enterprise.soap.sforce.com">
<sf:Id>a0Ip0000001WxvaEAC</sf:Id>
<sf:Brand__c>ABC3</sf:Brand__c>
<sf:Content__c>halo test 3</sf:Content__c>
<sf:Mobile__c>6281457835353</sf:Mobile__c>
</sObject>
</Notification>
</notifications>
</soapenv:Body>
</soapenv:Envelope>';
$requiredData=array();
$result= new DOMDocument();
$result->loadXML($string);
foreach(array(
"Brand__c",
"Content__c",
"Mobile__c"
) as $key)
{
foreach($result->getElementsByTagNameNS("urn:sobject.enterprise.soap.sforce.com",$key) as $element)
{
if($element instanceof DOMElement)
{
$requiredData[$element->tagName][] =$element->textContent;
}
}
}
print_r($requiredData);
答案 1 :(得分:0)
sahil先生,很抱歉再次打扰,如果我有多个如下数据,如何通过循环访问它?
<Notification>
<Id>034l3004D4247lVAAS</Id>
<sObject xsi:type="sf:SMS_Activity__c" xmlns:sf="urn:sobject.enterprise.soap.sforce.com">
<sf:Id>a0Ip0000001WxvaEAC</sf:Id>
<sf:Brand__c>ABC</sf:Brand__c>
<sf:Content__c>halo test 1</sf:Content__c>
<sf:Mobile__c>6281457835351</sf:Mobile__c>
</sObject>
</Notification> <Notification>
<Id>034l3004D4247lVAAS</Id>
<sObject xsi:type="sf:SMS_Activity__c" xmlns:sf="urn:sobject.enterprise.soap.sforce.com">
<sf:Id>a0Ip0000001WxvaEAC</sf:Id>
<sf:Brand__c>ABC2</sf:Brand__c>
<sf:Content__c>halo test 2</sf:Content__c>
<sf:Mobile__c>6281457835352</sf:Mobile__c>
</sObject>
</Notification> <Notification>
<Id>034l3004D4247lVAAS</Id>
<sObject xsi:type="sf:SMS_Activity__c" xmlns:sf="urn:sobject.enterprise.soap.sforce.com">
<sf:Id>a0Ip0000001WxvaEAC</sf:Id>
<sf:Brand__c>ABC3</sf:Brand__c>
<sf:Content__c>halo test 3</sf:Content__c>
<sf:Mobile__c>6281457835353</sf:Mobile__c>
</sObject>
</Notification>