如何基于PHP变量添加新的XML行?
我对XML非常陌生,希望能在这个问题上得到指导或帮助,我已经尝试了几个小时 目标 我有一个简单的表单,其中有一些复选框。如果选中该复选框,我希望它向XML添加一些代码。这是我在处理第三方API时收到的一个示例文件 代码的第一部分是查找是否选中复选框。然后根据POST选项的值定义一个变量如何基于PHP变量添加新的XML行?,php,xml,Php,Xml,我对XML非常陌生,希望能在这个问题上得到指导或帮助,我已经尝试了几个小时 目标 我有一个简单的表单,其中有一些复选框。如果选中该复选框,我希望它向XML添加一些代码。这是我在处理第三方API时收到的一个示例文件 代码的第一部分是查找是否选中复选框。然后根据POST选项的值定义一个变量 <?php if (isset($_POST['submit'])) { $signature = $_POST['signature']; if($signature == "SO") { $s
<?php if (isset($_POST['submit'])) {
$signature = $_POST['signature'];
if($signature == "SO") {
$sig_option = htmlentities("<option-code>SO</option>");
}
else {
$sig_option = "";
} } ?>
我不确定是否有一种方法可以基于PHP中的POST表单提交来做到这一点,但如果有人能提供帮助,我将不胜感激 不要在整个新节点上使用html权限。您将尝试插入
选项代码将>编码到html文档中,这将是一个语法错误。在节点的内容上使用html实体,例如htmlentities('SO')
,但是xml标记本身无法编码。谢谢@MarcB。您是否知道一种方法可以让它正确地编码到代码的XML区域中?您现在所做的应该是正确的,只需确保插入了有效的XML,因为您的XML不是。您的打开/关闭标记不匹配:
v.s.
。再次感谢Marc。我上面的代码只是我实际脚本中的一个输入错误。API向我吐露了一个错误,仍然说“匿名类型的选项可能没有文本内容”。我不确定这意味着什么,但如果我硬编码,它工作得很好。当我尝试输入var{$sig_option}时,它向我吐出了这个错误@马尔克
$xmlRequest = <<<XML
<?xml version="1.0" encoding="UTF-8"?>
............................
<options>
<option>
<option-code>COV</option-code>
<option-amount>{$covAmount}</option-amount>
{$sig_option}
</option>
</options>
.............