第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

為樹(shù)中的輸出文件格式化 XML 不起作用

為樹(shù)中的輸出文件格式化 XML 不起作用

PHP
白板的微信 2023-04-02 10:46:24
我嘗試以多種方式使用 php 代碼以樹(shù)格式保存到 xml 文件,但沒(méi)有成功。有什么不對(duì)勁,我不知道。輸出格式仍然是一個(gè)長(zhǎng)字符串,如下所示:<products><product id="p02"><name>Name 2</name><price currency="USD">200</price></product></products>我需要一些幫助。這是我的代碼:  <?php  if(isset($_POST['submitSave'])) {    $products = new DOMDocument('1.0');    $products->preserveWhiteSpace = false;    $products->formatOutput = true;$doc->load('data/product.xml');$product = $products->addChild('product');$product->addAttribute('id', $_POST['id']);$product->addChild('name', $_POST['name']);$product->addChild('price', $_POST['price']);file_put_contents('data/product.xml', $doc->saveXML());header('location:index.php');}?>
查看完整描述

2 回答

?
慕尼黑8549860

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超11個(gè)贊

嘗試這個(gè):


<?php


if(isset($_POST['submitSave'])){


? ? $products = new DOMDocument('1.0');

? ? $products->preserveWhiteSpace = false;

? ? $products->formatOutput = true;


? ? // $doc->load('data/product.xml');


? ? $product = $products->createElement('product');

? ? $product->setAttribute('id', $_POST['id']);

? ? $name = $products->createElement('name', $_POST['name']);

? ? $price = $products->createElement('price', $_POST['price']);


? ? $products->appendChild($product);

? ? $product->appendChild($name);

? ? $product->appendChild($price);


? ? file_put_contents('data/product.xml', $products->saveXML());


? ? // echo $products->saveXML();

}

?>

這是沒(méi)有 POST 參數(shù)的ideone上的演示

這是我在本地機(jī)器上的輸出,使用后置參數(shù)

http://img4.sycdn.imooc.com/6428eca8000109cc03600220.jpg

編輯:這里要求的是保留舊數(shù)據(jù)的代碼


<?php


if(isset($_POST['submitSave'])){


? ? // Disable errors due to empty xml files

? ? error_reporting(E_ALL & ~E_WARNING);


? ? $domDoc = new DOMDocument('1.0');

? ? $domDoc->preserveWhiteSpace = false;

? ? $domDoc->formatOutput = true;


? ? // load xml file

? ? try {

? ? ? ? $domDoc->load('./data/product.xml');

? ? } catch (\Throwable $th) {

? ? ? ? //throw $th;

? ? }


? ? if($domDoc->getElementsByTagName('products')->length>0){

? ? ? ? // If we already have products tag defined

? ? ? ? $products = $domDoc->getElementsByTagName('products')[0];

? ? }else{

? ? ? ? // If we don't have any products tag, i.e. file is empty

? ? ? ? $products = $domDoc->createElement('products');

? ? }


? ? // Create child node for product and set id(attribute), name(child), price(child)

? ? $product = $domDoc->createElement('product');

? ? $product->setAttribute('id', $_POST['id']);

? ? $name = $domDoc->createElement('name', $_POST['name']);

? ? $price = $domDoc->createElement('price', $_POST['price']);


? ? $domDoc->appendChild($products);

? ? $products->appendChild($product);

? ? $product->appendChild($name);

? ? $product->appendChild($price);


? ? file_put_contents('./data/product.xml', $domDoc->saveXML());


}

?>

這是我本地機(jī)器上的輸出:

http://img2.sycdn.imooc.com/6428ecb800015ffd04370377.jpg

查看完整回答
反對(duì) 回復(fù) 2023-04-02
?
侃侃無(wú)極

TA貢獻(xiàn)2051條經(jīng)驗(yàn) 獲得超10個(gè)贊

輸出文件是 product.xml。對(duì)于測(cè)試,我使用http://localhost/teste.php?id=p02&name=Name2&price=200¤cy=USD


$xmlstr= "<products></products>";

$sxe = new SimpleXMLElement($xmlstr);

$product = $sxe->addChild('product');

$product->addAttribute('id', $_REQUEST['id']);

$product->addChild('name', $_REQUEST['name']);

$price = $product->addChild('price', $_REQUEST['price']);

$price->addAttribute('currency', $_REQUEST['currency']);

$xmlOutput = $sxe->asXML();

file_put_contents('product.xml',$xmlOutput);


查看完整回答
反對(duì) 回復(fù) 2023-04-02
  • 2 回答
  • 0 關(guān)注
  • 170 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)