In the example below, the PHP form updates the XML with the text entered in the fields.
XML file labela.xml:
<?xml version="1.0" encoding="UTF-8"?>
<inventors>
<person>
<name>change1</name>
<comment>change2</comment>
</person>
</inventors>
The PHP form used to change the "change1" and "change2" in the XML file
<script src="https://code.jquery.com/jquery-latest.min.js"></script>
<?php
$xml = new DOMDocument("1.0", "utf-8");
$xml->formatOutput = true;
$xml->preserveWhiteSpace = false;
$xml->load("labela.xml");
//Get item Element
$element = $xml->getElementsByTagName("person")->item(0);
//Load child elements
$name = $element->getElementsByTagName("name")->item(0);
$comment = $element->getElementsByTagName("comment")->item(0);
//Replace old elements with new
$element->replaceChild($name, $name);
$element->replaceChild($comment, $comment);
?>
<?php if (isset($_POST["submit"])) {
$name->nodeValue = $_POST["namanya"];
$comment->nodeValue = $_POST["commentnya"];
htmlentities($xml->save("labela.xml"));
} ?>
<form method="POST" action=''>
name <input type="text-name" value="<?php echo $name->nodeValue; ?>" name="namanya" />
comment <input type="text-comment" value="<?php echo $comment->nodeValue; ?>" name="commentnya"/>
<input name="submit" type="submit" />
</form>
How do I extract and update the strings change1 and change2 from the XML structure below, using PHP?
<?xml version="1.0" encoding="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:objects>
<barcode:barcode>
<barcode:qrcodeStyle model="2" eccLevel="15%" />
<pt:data>change1</pt:data>
</barcode:barcode>
<text:text>
<text:textStyle vertical="false" />
<pt:data>change2</pt:data>
<text:stringItem charLen="7">
<text:ptFontInfo>
<text:logFont name="Arial" />
</text:ptFontInfo>
</text:stringItem>
</text:text>
<text:text>
<text:textStyle vertical="false" />
<pt:data>change3</pt:data>
</text:text>
</pt:objects>
</style:sheet>
</pt:body>
</pt:document>
thanks in advance to everyone who takes their time to help
2
Answers
I think it’s needed translate xml structure into object
$xmlObject = new SimpleXMLElement($xmlString);
And then you can get access to property.
The ideal is to extract data from your XML using XPath.
You will get what you want by proceeding as follows:
load.php
form.php
If you still can’t, tell me which part you’re having trouble with.
I wish you success in your projects.