可能重複:
Implementing condition in XPath and XQuery
PHP convert XML to JSONPHP,XML獲取記錄節點和值並將它們放入JSON數組中?
我如何獲得所有子筆記,其中包括產品=產品1 並把它們放到一個JSON數組的記錄?
<RECORD>
<PROP NAME="Product">
<PVAL><!CDATA[Produkt1]]</PVAL>
<PROP NAME="Value">
<PVAL><!CDATA[10]]</PVAL>
<PROP NAME="Status">
<PVAL><!CDATA[Active]]</PVAL>
</RECORD>
<RECORD>
<PROP NAME="Product">
<PVAL><!CDATA[Produkt2]]</PVAL>
<PROP NAME="Value">
<PVAL><!CDATA[20]]</PVAL>
<PROP NAME="Status">
<PVAL><!CDATA[Active]]</PVAL>
</RECORD>
<RECORD>
<PROP NAME="Product">
<PVAL><!CDATA[Produkt3]]</PVAL>
<PROP NAME="Value">
<PVAL><!CDATA[30]]</PVAL>
<PROP NAME="Status">
<PVAL><!CDATA[Active]]</PVAL>
</RECORD>
我需要一個iPad應用程序中的數據,稱像www.products.com/product.php?Product1
具有JSON看起來像
{
"Product": [
{ "Name":"Product1" , "Value":"10" , "Status":"Active" }
]
}
編輯:解決方案使用XML閱讀器
<?php
$z = new XMLReader;
$z->open('products.xml');
$doc = new DOMDocument;
// move to the first <product /> node
while ($z->read() && $z->name !== 'RECORD');
// now that we're at the right depth, hop to the next <product/> until the end of the tree
while ($z->name === 'RECORD')
{
$node = simplexml_import_dom($doc->importNode($z->expand(), true));
$strvalue = $node->PROP[6]->PVAL;
echo $strvalue."<p>" ;
// go to next <product />
$z->next('RECORD');
}
?>
有沒有像'JSON array'。你的意思是json格式化的字符串? – Leri
對我而言有一種叫做JSON數組的東西,但是是真的 - 它是由JSON字符串/對象組成的 http://www.w3schools.com/json/json_syntax.asp –
這是無效的XML –