我的XML文档的结构如下:
<tr>
<seg>
<source>source_text</source>
<dest>dest_text</dest>
</seg>
...
<seg>
<source>source_text</source>
</seg>
</tr>
请注意,dest元素并不总是存在。我想用PHP扫描文件,并在每次seg节点中不存在时插入dest元素(带有一些文本)。
非常感谢任何帮助。 帕特里克
答案 0 :(得分:1)
试试这个,我测试了这个片段,对我有用:
$xml = '<tr>
<seg>
<source>source_text</source>
<dest>dest_text</dest>
</seg>
<seg>
<source>source_text</source>
</seg>
</tr>
';
$xmlObj = new SimpleXMLElement($xml);
foreach($xmlObj as $seg) {
if(!$seg->dest) {
$seg->dest = 'dest_text_inserted';
}
}
echo $xmlObj->asXML();
它输出你需要的东西:
<?xml version="1.0"?>
<tr>
<seg>
<source>source_text</source>
<dest>dest_text</dest>
</seg>
<seg>
<source>source_text</source>
<dest>dest_text_inserted</dest></seg>
</tr>