Php 需要帮助解析xml吗
这是我需要解析的xml,我需要元素标记中的名称和值,以便使用循环放入数组中Php 需要帮助解析xml吗,php,mysql,xml,Php,Mysql,Xml,这是我需要解析的xml,我需要元素标记中的名称和值,以便使用循环放入数组中 <ProductCatalog> <product> <AtrrList> <element Name="Storage Capacity" Value="8 GB"/> <element Name="Interface" Value="USB 2.0"/> </AtrrList> </produ
<ProductCatalog>
<product>
<AtrrList>
<element Name="Storage Capacity" Value="8 GB"/>
<element Name="Interface" Value="USB 2.0"/>
</AtrrList>
</product>
</ProductCatalog>
foreach($xxml->AttrList->element as$rating){
回声“;
回声“;
$name=$rating['name'];
echo$name;
回声“;
回声“;
$value=$rating['value'];
echo美元价值;
回声“;
回声“;
}
但我无法将其放入数组中,以便将其保存到mysql数据库中
我非常感谢您的帮助。您可以用它来解析数据
试试这个:
foreach ($xxml->AttrList->element as $rating) {
echo "<tr>";
echo "<td>";
$name = $rating['Name'];
echo $name;
echo "</td>";
echo "<td>";
$value = $rating['Value'];
echo $value;
echo "</td>";
echo "</tr>";
}
$xml=$node->getAttribute('Name'),
'value'=>$node->getAttribute('value');
//可以直接输出属性
回声“
. $节点->获取属性('Name')
. ''
. $节点->获取属性('Value')
. '';
}
现在,结果将存储在$rating中,您可以使用xml_parse_into_struct() 此函数用于将所有xml元素转换为多维数组 我使用它时没有问题
查看以下位置的更多信息:您还可以使用SimpleXML获取值:
$xml = <<<EOD
<ProductCatalog>
<product>
<AtrrList>
<element Name="Storage Capacity" Value="8 GB"/>
<element Name="Interface" Value="USB 2.0"/>
</AtrrList>
</product>
</ProductCatalog>
EOD;
$rating = array();
$doc = new DOMDocument();
$doc->loadXML( $xml );
foreach( $doc->getElementsByTagName( 'element' ) as $node ) {
$rating[] = array(
'name' => $node->getAttribute( 'Name' ),
'value' => $node->getAttribute( 'Value' ) );
// You can output the attributes directly
echo '<tr><td>'
. $node->getAttribute( 'Name' )
. '</td><td>'
. $node->getAttribute( 'Value' )
. '</td></tr>';
}
结果显然已经是一个数组(
$rating
),所以如果您愿意,您可以将其保存到数据库中。准确解释您想要在数组中放置的内容Here示例使用php中的simplexml(文件和字符串):感谢oldskool,就像我一直是盲人一样。我在$rating中有我需要的所有信息,但我在过去的日子里工作得太多了,所以我没有正确地思考……再次感谢您。$xxml是我的变量,其中包含xml。
<?php
$xmlstr = <<<OOT
<ProductCatalog>
<product>
<AtrrList>
<element Name="Storage Capacity" Value="8 GB"/>
<element Name="Interface" Value="USB 2.0"/>
</AtrrList>
</product>
</ProductCatalog>
OOT;
$movies = new SimpleXMLElement($xmlstr);
foreach($movies->product->AtrrList->element as $attr)
{
echo $attr['Name'].' '.$attr['Value'];
echo '<p>---</p>';
}
Storage Capacity 8 GB
---
Interface USB 2.0
---