Kemas kini ruang nama xml dengan data daripada borang PHP
P粉445714413
P粉445714413 2023-09-05 10:34:27
0
2
535
<p>Dalam contoh di bawah, borang PHP mengemas kini XML dengan teks yang dimasukkan dalam medan.</p> <p>XML 文件 labela.xml:</p> <pre class="brush:php;toolbar:false;"><?xml version="1.0" pengekodan="UTF-8"?> <pencipta> <orang> <nama>tukar1</nama> <komen>ubah2</komen> </orang> </inventors></pre> <p>用于更改 XML 文件中的“change1”和“change2”的 PHP 表单</p> <pre class="brush:php;toolbar:false;"><script src="https://code.jquery.com/jquery-latest.min.js"></script> <?php $xml = DOMDocument baharu("1.0", "utf-8"); $xml->formatOutput = benar; $xml->preserveWhiteSpace = palsu; $xml->load("labela.xml"); //Dapatkan Elemen item $element = $xml->getElementsByTagName("orang")->item(0); //Muat elemen kanak-kanak $name = $element->getElementsByTagName("nama")->item(0); $comment = $element->getElementsByTagName("komen")->item(0); // Gantikan elemen lama dengan yang baru $element->replaceChild($name, $name); $element->replaceChild($comment, $comment); ?> <?php if (isset($_POST["serahkan"])) { $name->nodeValue = $_POST["namanya"]; $comment->nodeValue = $_POST["komennya"]; htmlentities($xml->save("labela.xml")); } ?> <kaedah borang="POST" action=''> nama <jenis input="teks-nama" value="<?php echo $name->nodeValue; ?>" name="namanya" /> ulasan <jenis input="teks-ulasan" value="<?php echo $comment->nodeValue; ?>" name="komennya"/> <nama input="serahkan" type="serahkan" /> </form></pre> <p>如何使用 PHP 从下面的 XML 结构中提取并更新字符串change1 和change2?</p> <pre class="brush:php;toolbar:false;"><?xml version="1.0" pengekodan="UTF-8"?> <pt:document xmlns:pt="http://schemas.brother.info/ptouch/2007/lbx/main" xmlns:barcode="http://schemas.brother.info/ptouch/2007/lbx/barcode" xmlns:style="http://schemas.brother.info/ptouch/2007/lbx/style" xmlns:text="http://schemas.brother.info/ptouch/2007/lbx/text"> <pt:body currentSheet="Folha 1"> <style:sheet name="Folha 1"> <pt:objek> <kod bar:kod bar> <barcode:qrcodeStyle model="2" eccLevel="15%" /> <pt:data>change1</pt:data> </barcode:barcode> <teks:teks> <text:textStyle vertical="false" /> <pt:data>change2</pt:data> <text:stringItem charLen="7"> <teks:ptFontInfo> <text:logFont name="Arial" /> </text:ptFontInfo> </text:stringItem> </text:text> <teks:teks> <text:textStyle vertical="false" /> <pt:data>change3</pt:data> </text:text> </pt:objek> </style:sheet> </pt:badan> </pt:document></pre> <p>提前感谢所有花时间提供帮助的人</p>
P粉445714413
P粉445714413

membalas semua(2)
P粉938936304

Saya rasa struktur XML perlu ditukar kepada objek

$xmlObject = new SimpleXMLElement($xmlString);

Kemudian anda boleh mengakses harta itu.

P粉564301782

Sebaik-baiknya gunakan XPath untuk mengekstrak data daripada XML. Dengan melakukan perkara berikut anda akan mendapat hasil yang anda inginkan:

Memuatkan.php

<?php
$change1 = $_POST['change1'];
$change2 = $_POST['change2'];
$change3 = $_POST['change3'];   
$xml = simplexml_load_file('your_complex_xml.xml');
$xml->xpath('//pt:data')[0][0] = $change1;
$xml->xpath('//pt:data')[1][0] = $change2;
$xml->xpath('//pt:data')[2][0] = $change3;
$xml->asXML('new_complex_xml.xml');

form.php

    <form method="post" action="load.php">
    <label for="change1">change1:</label>
    <input type="text" name="change1" id="change1"><br>
    <label for="change2">change2:</label>
    <input type="text" name="change2" id="change2"><br>
    <label for="change3">change3:</label>
    <input type="text" name="change3" id="change3"><br>
    <input type="submit" value="Generate New XML">
    </form>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!