【发布时间】:2017-12-13 15:25:35
【问题描述】:
我正在尝试使用 PHP 更新 XML,并且我成功了,但是有一个小问题:我不知道如何获取 XML“类”并通过 PHP 进行编辑。 This example 很有帮助,这是我的表格:
<form name="form1" action="converte.php" method="post">
<input type="text" name="referencia" id="referencia" placeholder="Insira a referência">
<input type="text" name="titulo" id="titulo" placeholder="Escreva o título">
<input type="text" name="descricao" id="descricao" placeholder="Insira a descrição">
<input type="text" name="cidade" id="cidade" placeholder="Insira a cidade">
<input type="text" name="bairro" id="bairro" placeholder="Bairro">
<input type="text" name="imagem" id="imagem" placeholder="LINK DA IMAGEM (.jpg)">
<input type="text" name="banheiros" id="banheiros" placeholder="Banheiros">
<input type="text" name="quartos" id="quartos" placeholder="Quartos">
<input type="text" name="preco" id="preco" placeholder="R$ 0.000.000">
<input type="text" name="tipo" id="tipo" placeholder="Tipo do imóvel (apartamento, casa, comercial....)">
<input type="text" name="direcionamento" id="direcionamento" placeholder="Link do imóvel no site, para direcionar o clique">
<input type="submit" value="Gerar XML">
</form>
这是我的 PHP (converte.php):
<?php
$postReferencia = $_POST['referencia'];
$postName = $_POST['titulo'];
$postDescricao = $_POST['descricao'];
$postCidade = $_POST['cidade'];
$postBairro = $_POST['bairro'];
$postImagem = $_POST['imagem'];
$postBanheiros = $_POST['banheiros'];
$postQuartos = $_POST['quartos'];
$postPreco = $_POST['preco'];
$postTipo = $_POST['tipo'];
$postDirecionamento = $_POST['direcionamento'];
// load the document
// the root node is <info/> so we load it into $info
$info = simplexml_load_file('facebook.xml');
// update
$info->listing->home_listing_id = $postReferencia;
$info->listing->content_ids = $postReferencia;
$info->listing->name = $postName;
$info->listing->description = $postDescricao;
$info->listing->address->component = $postCidade;
$info->listing->neighborhood = $postBairro;
$info->listing->image->url = $postImagem;
$info->listing->num_baths = $postBanheiros;
$info->listing->num_beds = $postQuartos;
$info->listing->price = $postPreco;
$info->listing->property_type = $postTipo;
$info->listing->url = $postDirecionamento;
// save the updated document
$info->asXML('facebook.xml');
header('Location: index.php');
?>
这是 XML (facebook.xml)
<?xml version="1.0" encoding="UTF-8"?>
<listings>
<title>Feed imóvel novo</title>
<link rel="self" href="http://www.onecia.com.br"/>
<listing>
<home_listing_id></home_listing_id>
<content_ids></content_ids>
<name></name>
<description></description>
<address format="simple">
<component name="city"> </component>
<component name="region">Rio Grande do Sul</component>
<component name="country">Brasil</component>
</address>
<neighborhood></neighborhood>
<image>
<url></url>
</image>
<num_baths></num_baths>
<num_beds></num_beds>
<price></price>
<property_type></property_type>
<url></url>
</listing>
</listings>
如您所见,在 XML 中我有这个:
<address format="simple">
<component name="city"> </component>
<component name="region">Rio Grande do Sul</component>
<component name="country">Brasil</component>
</address>
问题是:我怎样才能得到这个“城市”组件?对于其他项目,我只是获得了一般标签链接,但是这个属性(格式 - 简单,名称 - 城市)我不知道如何通过 php 收集它。
我有这个作为基地,我怎样才能让它只聚集城市?
$info->listing->address->component = $postCidade;
【问题讨论】: