我正在尝试使用PHP中的SimpleXML在XML中选择一行。我已经在XML中编写了代码加载,如下所示。
# IPv6 local connections:
host all all ::1/128 trust
我有我的代码来选择名称但是希望它选择该名称的值。目前我在PHP中的行看起来像这样
<Row>
<Cell name="ID">S061102000000000000000006492017092915:13</Cell>
</Row>
所以这显然会输出文本
ID
但是我想要这一行的值。只是因为你也知道我想从中获取更多的Cell Name值,例如
<?php
$xml=simplexml_load_file("test.xml") or die("Error: Cannot create
object");
echo "'".$xml->book[0]->title['name'] . "',<br>";
?>
答案 0 :(得分:0)
如果你想获得标签的正文,为什么会得到属性name
?
而不是
$xml->book[0]->title['name']
你应该使用
$xml->book[0]->title
在你的情况下它应该是
$xml->Row[0]->Cell
您可以详细了解如何设置节点/属性值here。
答案 1 :(得分:0)
使用您的xml格式,代码看起来应该是这样的
$xml = '<Row>
<Cell name="ID">S061102000000000000000006492017092915:13</Cell>
</Row>';
$data = new SimpleXMLElement($xml);
echo "Name:" . $data->Cell["name"] . "\n";
echo "Value:" . (string)$data->Cell . "\n";
或者如果你必须处理多个单元格标签,则循环数据
$xml = '<Row>
<Cell name="ID">S061102000000000000000006492017092915:13</Cell>
<Cell name="Name">Value</Cell>
</Row>';
$data = new SimpleXMLElement($xml);
foreach ($data as $cell) {
echo "Name:" . $cell["name"] . "\n";
echo "Value:" . (string)$cell . "\n";
}