Php 使用item()将数据插入XML文档
我试图将数据插入XML文档中Php 使用item()将数据插入XML文档,php,html,xml,dom,Php,Html,Xml,Dom,我试图将数据插入XML文档中content\u集的一个特定节点,我想我必须使用item(),但每次提交表单时,数据都会放在文档末尾,但在关闭content\u集之前 PHP: //这就是我想根据html中select的值来选择将数据放入哪个节点的地方,0是doc_类型,1是video_类型 $file_type = $_POST['file_type']; $doc = new DOMDocument(); $doc->load( 'myfile_files.xml' ); $doc-&
content\u集
的一个特定节点,我想我必须使用item()
,但每次提交表单时,数据都会放在文档末尾,但在关闭content\u集之前
PHP:
//这就是我想根据html中select的值来选择将数据放入哪个节点的地方,0是doc_类型,1是video_类型
$file_type = $_POST['file_type'];
$doc = new DOMDocument();
$doc->load( 'myfile_files.xml' );
$doc->formatOutput = true;
$r = $doc->getElementsByTagname('content_sets')->item($file_type);
$b = $doc->createElement("article");
$titleName = $doc->createElement("doc_name");
$titleName->appendChild(
$doc->createTextNode( $Document_Array["name"] )
);
$b->appendChild( $titleName );
$r->appendChild( $b );
$doc->save("myfile_files.xml");
XML:
测试方案
tes_prop.docx
测试词文档。请在活动时移除。
word文档,测试,rfp模板,模板,rfp
01/26/2013 23:07
测试视频
test_video.avi
测试视频。请在活动时移除。
测试视频,视频,avi,xvid,svid avi
01/26/2013 23:07
HTML:
内容类型:
文件
视频
形象
我第三次尝试包含脚本中最重要的部分,但如果需要,我可以发布所有内容
谢谢 1)使用XPath查找要更改的节点
2) 拥有节点后,只需为其指定一个新值
3) 完成后再写文件
有关更多详细信息,请查看以下链接:
谢谢您提供的信息。我对php进行了编辑,以显示xml更新和保存的其余部分。我只是想知道,如果使用getElementsByTagname查找内容集的所有节点,然后使用要插入的项(0)查找第一个节点,为什么我的原始脚本不起作用?再次感谢!问:为什么getElementsByTagname()不起作用?有很多可能的原因。如果要调试,我会将复杂表达式分解为子表达式,然后“printf”每个子表达式的值,直到找到错误为止。例如,<代码>回声$FielyType
,然后<代码> PrimtTrr($doc-> GETelEngsByTyGNT(‘CordungSub’))
,等等。您也可以考虑为Eclipse获取一个IDE类PHP,或者尝试。更具体地说:(1)哪一个<代码> <代码>是要更改的?(2) 要插入哪个元素?
<?xml version="1.0" encoding="UTF-8"?>
<content_sets>
<doc_types>
<article>
<doc_name>Test Proposal</doc_name>
<file_name>tes_prop.docx</file_name>
<doc_description>Test Word document. Please remove when live.</doc_description>
<doc_tags>word document,test,rfp template,template,rfp</doc_tags>
<last_update>01/26/2013 23:07</last_update>
</article>
</doc_types>
<video_types>
<article>
<doc_name>Test Video</doc_name>
<file_name>test_video.avi</file_name>
<doc_description>Test video. Please remove when live.</doc_description>
<doc_tags>test video,video, avi,xvid,svid avi</doc_tags>
<last_update>01/26/2013 23:07</last_update>
</article>
</video_types>
</content_sets>
<p>Content Type:<br/>
<select name="file_type">
<option value="0">Document</option>
<option value="1">Video</option>
<option value="2">Image</option>
</select></p>