使用 PHP 表单中的数据更新 xml 命名空间
P粉445714413
P粉445714413 2023-09-05 10:34:27
0
2
485
<p>在下面的示例中,PHP 表单使用字段中输入的文本更新 XML。</p> <p>XML文件labela.xml:</p>

<发明家>
   <人>
      <名称>change1
      <评论>更改2
   </人>
</发明家></pre>
<p>用于更改 XML 文件中的“change1”和“change2”的 PHP 表单formatOutput = true;
 $xml->preserveWhiteSpace = false;
 $xml->load(“labela.xml”);

 //获取item元素
 $element = $xml->getElementsByTagName("person")->item(0);

 //加载子元素
 $name = $element->getElementsByTagName("name")->item(0);
 $comment = $element->getElementsByTagName(“comment”)->item(0);

 //用新元素替换旧元素
 $element->replaceChild($name, $name);
 $element->replaceChild($comment, $comment);
 ?>

nodeValue = $_POST[“namanya”];
    $comment->nodeValue = $_POST[“commentnya”];
    htmlentities($xml->save(“labela.xml”));
} ?>

<表单方法=“POST”行动=''>
名称 <输入类型=“文本名称” value="nodeValue; ?>” name=“namanya” >>
comment <输入类型=“文本评论” value="nodeValue; ?>”  name=“commentnya”/>
<输入名称=“提交”类型=“提交” >>
</form></pre>

如何使用PHP从下面的XML结构中提取并更新字符串change1和change2?</p>



   <pt:body currentSheet=“Folha 1”>
      <样式:工作表名称=“Folha 1”>
         
            <条形码:条形码>
               <条形码:qrcodeStyle model=“2” eccLevel=“15%” >>
               change1
            </条形码:条形码>
            <文字:文字>
               <文本:textStyle 垂直=“假” >>
               change2
               
                  <文本:ptFontInfo>
                     >
                  </text:ptFontInfo>
               </text:stringItem>
            </文字:文字>
            <文字:文字>
               <文本:textStyle 垂直=“假” >>
               change3
            </文字:文字>
         </pt:对象>
      </样式:表>
   </pt:正文>
</pt:文档></pre>
<p>提前感谢所有花时间提供帮助的人</p>            
P粉445714413
P粉445714413

全部回复(2)
P粉938936304

我认为需要将XML结构转换为对象

$xmlObject = new SimpleXMLElement($xmlString);

然后您就可以访问该属性。

P粉564301782

理想的情况是使用 XPath 从 XML 中提取数据。 通过执行以下操作,您将获得您想要的结果:

加载.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');

表单.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>
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!