Php 如何显示数据id、名称?

Php 如何显示数据id、名称?,php,xml,simplexml,Php,Xml,Simplexml,我的文件xml: <pasaz:Envelope> <pasaz:Body> <loadOffe> <offe> <off> <id>120023</id> <name>my name John</name> <name>Test</name> </off> </offe> </loadOffe> </pasaz:B

我的文件xml:

    <pasaz:Envelope>
<pasaz:Body>
<loadOffe>
<offe>
<off>
<id>120023</id>
<name>my name John</name>
<name>Test</name>
</off>
</offe>
</loadOffe>
</pasaz:Body>
</pasaz:Envelope>
$pliks = simplexml_load_file("file.xml"); 
foreach ($pliks->children('pasaz', true) as $body)
{
foreach ($body->children() as $loadOffe)
{
if ($loadOffe->offe->off) {
echo "<p>id: $loadOffe->id</p>";
echo "$id->id";
echo "<p>name: <b>$name->name</b></p>";
}
}
//  echo $loadOffe->offe->off->id;
}

120023
我叫约翰
试验

如何查看php(id和名称)。

如果您只是想寻找一种简单的方法来提取标记的内容,但又不想费尽心机正确解析XML,您可以这样做:

$xml = ""; // your xml data as a string
function get_tag_contents($xml, $tagName) {
    $startPosition = strpos($xml, "<" . $tagName . ">");
    $endPosition = strpos($xml, "</" . $tagName . ">");
    $length = $endPosition - ($startPosition + 1);
    return substr($xml, $startPosition, $length);
}

$id = get_tag_contents($xml, "id");
$name = get_tag_contents($xml, "name");
$pliks = simplexml_load_file("file.xml"); 
foreach ($pliks->children('pasaz', true) as $body)
{
foreach ($body->children() as $loadOffe)
{
if ($loadOffe->offe->off) {
echo "<p>id: $loadOffe->id</p>";
echo "$id->id";
echo "<p>name: <b>$name->name</b></p>";
}
}
//  echo $loadOffe->offe->off->id;
}
$xml=”“;//将xml数据转换为字符串
函数get_tag_contents($xml,$tagName){
$startPosition=strpos($xml,“”);
$endPosition=strpos($xml,“”);
$length=$endPosition-($startPosition+1);
返回substr($xml,$startPosition,$length);
}
$id=获取标签内容($xml,“id”);
$name=获取标签内容($xml,“name”);

这假设您没有为标记分配任何属性,并且每个标记都是唯一的(在您给我们的示例中,我注意到了两个“名称”标记,如果您想要这两个标记,则需要使此解决方案更加健壮或进行适当的XML解析)。

正如Marc B在其评论中建议的,您应该使用,或者,
getElementaByTagName()
示例:

$pliks = simplexml_load_file("file.xml"); 
foreach ($pliks->children('pasaz', true) as $body)
{
foreach ($body->children() as $loadOffe)
{
if ($loadOffe->offe->off) {
echo "<p>id: $loadOffe->id</p>";
echo "$id->id";
echo "<p>name: <b>$name->name</b></p>";
}
}
//  echo $loadOffe->offe->off->id;
}
如何获取所有项目? 示例(不起作用…)

$pliks = simplexml_load_file("file.xml"); 
foreach ($pliks->children('pasaz', true) as $body)
{
foreach ($body->children() as $loadOffe)
{
if ($loadOffe->offe->off) {
echo "<p>id: $loadOffe->id</p>";
echo "$id->id";
echo "<p>name: <b>$name->name</b></p>";
}
}
//  echo $loadOffe->offe->off->id;
}
$pliks=simplexml\u load\u文件(“file.xml”);
foreach($pliks->children('pasaz',true)作为$body)
{
foreach($body->children()作为$loadOffe)
{
如果($loadOffe->offe->off){
echo“id:$loadOffe->id

”;
$pliks = simplexml_load_file("file.xml"); 
foreach ($pliks->children('pasaz', true) as $body)
{
foreach ($body->children() as $loadOffe)
{
if ($loadOffe->offe->off) {
echo "<p>id: $loadOffe->id</p>";
echo "$id->id";
echo "<p>name: <b>$name->name</b></p>";
}
}
//  echo $loadOffe->offe->off->id;
}
回显“$id->id”; echo“name:$name->name

”;
$pliks = simplexml_load_file("file.xml"); 
foreach ($pliks->children('pasaz', true) as $body)
{
foreach ($body->children() as $loadOffe)
{
if ($loadOffe->offe->off) {
echo "<p>id: $loadOffe->id</p>";
echo "$id->id";
echo "<p>name: <b>$name->name</b></p>";
}
}
//  echo $loadOffe->offe->off->id;
}
} } //echo$loadOffe->offe->off->id; }