2012-01-11 35 views
0
<?xml version="1.0" encoding="UTF-8"?> 
<ALEXA VER="0.9" URL="infosys.com/" HOME="0" AID="="> 

    <RLS PREFIX="http://" more="62"> 
    <RL HREF="wipro.com/" TITLE="Wipro Corporation"/> 
    <RL HREF="tcs.com/" TITLE="Tata Consultancy Services"/> 
    <RL HREF="satyam.com/" TITLE="Satyam Computer Services Ltd"/> 
    <RL HREF="ibm.com/" TITLE="IBM Corporation"/> 
    <RL HREF="rediff.com/" TITLE="Rediff.com India Ltd."/> 
    <RL HREF="moneycontrol.com/" TITLE="MoneyControl.com"/> 
    <RL HREF="in.com/" TITLE="IN.com"/> 
    <RL HREF="google.co.in/" TITLE="Google India"/> 
    <RL HREF="www.stiknowledge.com/" TITLE="Business Process Outsourcing | Help Desk Outsourcing And Certification"/> 
    <RL HREF="www.sourcinginterests.org/" TITLE="Sourcing Interests Group"/> 
    <RL HREF="www.dice.com/" TITLE="www.dice.com/"/> 
    </RLS> 
    <SD TITLE="A" FLAGS="DMOZ" HOST="infosys.com"> 
    <TITLE TEXT="Infosys"/> 
    <ADDR STREET=" 44, Electronics City, Hosur Road" CITY=" Bangalore, KARNATAKA 560 100" STATE="" ZIP="" COUNTRY=" India" /> 
    <CREATED DATE="17-Jul-1992" DAY="17" MONTH="07" YEAR="1992"/> 
    <PHONE NUMBER="91 80 852 0261"/> 
    <OWNER NAME="Infosys Technologies Limited"/> 
    <EMAIL ADDR="[email protected]"/> 
    <LANG LEX="en" CODE="us-ascii"/> 
    <LINKSIN NUM="2858"/> 
    <SPEED TEXT="1308" PCT="55"/> 
    <REVIEWS AVG="5.0" NUM="1"/> 
    <CHILD SRATING="0"/> 
    </SD> 

    <KEYWORDS> 
    <KEYWORD VAL="Karnataka"/> 
    <KEYWORD VAL="Bangalore"/> 
    </KEYWORDS><DMOZ> 
    <SITE BASE="infosys.com/" TITLE="Infosys" DESC="Infosys (NASDAQ:INFY) defines, designs and delivers IT enabled business solutions. These provide you with strategic differentiation and operational superiority, thereby increasing your competitiveness. Each solution is delivered with the industry-benchmark Infosys Predictability that gives you peace of mind."> 
    <CATS> 
    <CAT ID="Top/Computers/Software/Consultants" TITLE="Software/Consultants" CID="379688"/> 
    <CAT ID="Top/Regional/Asia/India/Karnataka/Localities/Bangalore/Business_and_Economy/Computers_and_Internet/Software" TITLE="Computers and Internet/Software" CID="497626"/> 
    </CATS> 
    </SITE> 
    </DMOZ> 
    <SD> 
    <POPULARITY URL="infosys.com/" TEXT="15422"/> 
    <REACH RANK="17335"/> 
    <RANK DELTA="+1"/> 
    </SD> 
    </ALEXA> 

我已經使用$ XML =新的SimpleXMLElement( 'XML這裏數據') 然後使用 $ X = $ XML->的xpath('/ ALEXA); 我在這裏獲取如何訪問LINKSIN NUM和REACH排名。 如果我發送$ x的foreach像 foreach($ x as $ y){ $ y-> LINKSIN NUM; } 它會拋出錯誤,因爲有LINKSIn和NUM如何解析這個XML數據使用PHP?

+0

可能的重複[一個簡單的程序到CRUD節點和xml文件的節點值](http://stackoverflow.com/questions/4906073/a-simple-program-to-crud-node-and-node-values -of-xml-file) – Gordon 2012-01-11 11:38:04

+0

請看看xml的標記/縮進。 – 2012-01-11 12:06:43

回答

3

之間的差距這應該工作:

$xml = simplexml_load_string($dataHere); 
$rank = (int)$xml->SD->REACH['RANK']; 

文檔:http://nl3.php.net/simplexml_load_string

如果您對XML的URL:

$xml = simplexml_load_file($URL_to_file); 
+0

'$ rank =(int)$ xml-> SD-> REACH ['rank'];' – YuS 2012-01-11 11:26:04

+0

好的,縮進... – 2012-01-11 11:26:31

+0

'$ rank =(int)$ xml-> SD-> REACH ['RANK 「];'。案件事宜。 – dfsq 2012-01-11 11:37:04

1

試試這個:

$xml = simplexml_load_string($xml); 
$links = $xml->xpath('//SD/LINKSIN'); 
$reach = $xml->xpath('//SD/REACH'); 

$num = (int)$links[0]['NUM']; 
$rank = (int)$reach[0]['RANK']; 
+0

謝謝..有用! – user1131409 2012-01-12 08:54:12