2013-02-12 34 views
-4

我需要閱讀我的xml快速幫助。我在工具提示中顯示我的結果,一切都準備就緒。我想通過ID逐個查詢每個批次。我通過他們的id 這裏是我的XMLxml和php - 輸出文字

<section id="8" number="8" name="Section 8" phase="4" date="2/11/2013"> 
<lot id="2198" lot="2" block="1" section="8"> 
<number>2</number> 
<legal>L2-B1-S8 (60')</legal> 
<address>12107 Arbor Blue Lane</address> 
<builder>Perry Homes</builder> 
<status>Sold</status> 
<plan>3158</plan> 
<brick>Acme-StoneBriar</brick> 
<trim>SW-Portbello, Tea Chest</trim> 
<final_inspection_date/> 
<completion>5/23/2013</completion> 
<sqft>3158</sqft> 
<stories>2</stories> 

<bed>4</bed> 
<bath>3</bath> 
<garage>3</garage> 
<lotwidth>60'</lotwidth> 
<specprice>Sold</specprice> 
<imglocation>none</imglocation> 
<premium>off</premium> 
</lot> 
<lot id="2218" lot="22" block="1" section="8"> 
<number>22</number> 
<legal>L22-B1-S8 (60')</legal> 
<address>19503 Bella Arbor Lane</address> 
<builder>Perry Homes</builder> 
<status>Sold</status> 
<plan>3391</plan> 
<brick>Hanson-Chestnut Hill</brick> 
<trim>SW-Virtual Taupe, Smokehouse</trim> 
<final_inspection_date>12/3/2012</final_inspection_date> 
<completion>11/28/2012</completion> 
<sqft>3391</sqft> 
<stories>2</stories> 
<bed>4</bed> 
<bath>3</bath> 
<garage>3</garage> 
<lotwidth>60'</lotwidth> 
<specprice>Sold</specprice> 
<imglocation>3391w-e51.png</imglocation> 
<premium>off</premium> 
</lot> 
</section> 

這是我測試的PHP代碼

$xmldoc = new DOMDocument(); 
    $xmldoc->load('mydata.xml'); 

    $xpathvar = new Domxpath($xmldoc); 

    $queryResult = $xpathvar->query('//lot[@id="2198"]/address'); 
    foreach($queryResult as $result){ 
      echo $result->textContent; 

    } 

這只是給我的地址需要一個PHP代碼每批。我如何獲得列出的所有其他屬性?現在我可以在我的提示使用,因爲這

<div style="float:left"> 

<p style=" 
    margin: 0; 
    padding-left: 10px; 
    font-size: 13px; 
"><label style="color:grey">Status: </label>'.$status.'</p> 
<p style=" 
    margin: 0; 
    padding-left: 10px; 
    font-size: 13px; 
"><label style="color:grey">Builder: </label>'.$builder.'</p> 
<p style=" 
    margin: 0; 
    padding-left: 10px; 
    font-size: 13px; 
    width:200px 
"><label style="color:grey">Address: </label>'.$address.'</p> 
<p style=" 
    margin: 0; 
    padding-left: 10px; 
    font-size: 13px; 
"><label style="color:grey">Square Ft: </label>'.$square.'</p> 
<p style=" 
    margin: 0; 
    padding-left: 10px; 
    font-size: 13px; 
"><label style="color:grey">Stories: </label>'.$stories.'</p> 

<p style=" 
    margin: 0; 
    padding-left: 10px; 
    font-size: 13px; 
"><label style="color:grey">Completion: </label>'.$completion.'</p> 


<p style=" 
    margin: 0; 
    padding-left: 10px; 
    font-size: 13px; 
"><label style="color:grey">Plan #: </label>'.$plan.'</p> 
<p style=" 
    margin: 0; 
    padding-left: 10px; 
    font-size: 13px; 
"><label style="color:grey">B/B/G: </label>'.$bed.'/'.$bath.'/'.$garage.'</p> 
<p style=" 
    margin: 0; 
    padding-left: 10px; 
    font-size: 13px; 
"><label style="color:grey">Spec Price: </label>'.$specprice.'</p> 


</div> 
+0

如何交換'/地址'到XPath中的另一個屬性? (或'*'如果你想要所有這些) – 2013-02-12 09:33:45

回答

0
//lot[@id="2198"]/address 

你問:「這只是給我的地址我如何獲得所有其他屬性上市?」

在XPath,你可以使用星*如果你不想指定元素的具體名稱:

//lot[@id="2198"]/* 

例子:ZVON Example 3: The star * selects all elements located by preceeding path

不過你的問題不是非常清晰對我來說,所以這個答案是一個猜測。不要怪我,如果它不幫你;)