2010-05-17 85 views
1

我想從xml文件訪問某些數據片段,這裏是問題所在。訪問XML對象的節點

###XML FILE 
<products> 
    <product> 
     .... 
     .... 
    </product> 
    <product> 
     .... 
     .... 
    </product> 
    etc... 
</products> 

我知道,一條數據我需要的是($products->product->myProdNode)我有存儲在我的數據庫作爲一個字符串例如」該映射(以及其他許多) product->prodCode'或'product->dedscriptions->short_desc'我如何通過使用存儲在我的數據庫中的字符串來訪問這些數據。

感謝您提前幫忙!

回答

2

我認爲如果用正斜槓(/)替換 - >,它們實際上會變成Xpath,並且您可以像那樣查詢節點內容。

E.g

'product->dedscriptions->short_desc' should be mapped to 
'product/dedscriptions/short_desc' 

請閱讀更多有關XPath here

例如在C#

XmlNode.SelectSingleNode( 「產物/ dedscriptions/SHORT_DESC」)。的innerText會得到一個簡短的描述文本

php

$結果= $ record->的xpath( '描述/ SHORT_DESCRIPTION' );

while(list(,$ node)= each($ result)){ echo'Results is:',$ node,「\ n」; }

+0

我將如何使用此方法獲取數據? – Lizard 2010-05-17 11:12:08

+0

$ record-> xpath('descriptions/short_description'); - 我只想要的值不是SimpleXMLElement對象 – Lizard 2010-05-17 11:15:34

+0

我不確定SimpleXMLElement對象的屬性和方法,但是您應該訪問內部文本或值 – 2010-05-17 11:17:47