我有几个具有不同属性的相同元素,我正在使用SimpleXML访问:
<data>
<seg id="A1"/>
<seg id="A5"/>
<seg id="A12"/>
<seg id="A29"/>
<seg id="A30"/>
</data>
Run Code Online (Sandbox Code Playgroud)
我需要删除id为"A12" 的特定seg元素,我该怎么做?我已经尝试循环遍历seg元素并取消设置特定元素,但这不起作用,元素仍然存在.
foreach($doc->seg as $seg)
{
if($seg['id'] == 'A12')
{
unset($seg);
}
}
Run Code Online (Sandbox Code Playgroud) 如何使用simpleXML编辑xml文件中的值?
我知道如何创建文件,但不知道如何编辑现有文件中的值?
我正在尝试编写一个代码,它将在我的XML文件中找到一个特定元素,然后更改文本节点的值.XML文件具有不同的名称空间.到目前为止,我已经设法注册了名称空间,并且还回显了我想要更改的元素的文本节点.
<?php
$xml = simplexml_load_file('getobs.xml');
$xml->registerXPathNamespace('g','http://www.opengis.net/gml');
$result = $xml->xpath('//g:beginPosition');
foreach ($result as $title) {
echo $title . "\n";
}
?>
Run Code Online (Sandbox Code Playgroud)
我的问题是:如何使用SimpleXML更改此元素的值?我尝试使用nodeValue命令,但我无法使其工作.
这是XML的一部分:
<sos:GetObservation xmlns:sos="http://www.opengis.net/sos/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" service="SOS" version="1.0.0" srsName="urn:ogc:def:crs:EPSG:4326">
<sos:offering>urn:gfz:cawa:def:offering:meteorology</sos:offering>
<sos:eventTime>
<ogc:TM_During xmlns:ogc="http://www.opengis.net/ogc" xsi:type="ogc:BinaryTemporalOpType">
<ogc:PropertyName>urn:ogc:data:time:iso8601</ogc:PropertyName>
<gml:TimePeriod xmlns:gml="http://www.opengis.net/gml">
<gml:beginPosition>2011-02-10T01:10:00.000</gml:beginPosition>
Run Code Online (Sandbox Code Playgroud)
谢谢迪米特里斯