同时增加多行价值

时间:2018-12-01 06:20:17

标签: php line

说我有500个这样的对象(线):

<object id="5700" interior="0" doublesided="false" model="1890" dimension="0" posX="400" **posY**="30" posZ="100" rotX="0" rotY="0" rotZ="0"></object>

现在,对于500行的整个“块”,我想在 posY 中添加20行。

我该怎么做?

2 个答案:

答案 0 :(得分:0)

您可以使用多种方法来执行此操作,一种方法是添加一个通用选择器(例如class或attr),或者使用getElementsByTagName('object')遍历对象并使用更改后的值设置属性。

请看下面的代码作为示例。

const myObjects = document.querySelectorAll('.myObject');

myObjects.forEach( object => {
  let currentPosX = object.getAttribute('posX');
  object.setAttribute('posX', parseInt(currentPosX, 10) + 20)
})

console.log(myObjects);
<object id="5700" class="myObject" interior="0" doublesided="false" model="1890" dimension="0" posX="400" **posY**="30" posZ="100" rotX="0" rotY="0" rotZ="0"></object>
<object id="5701" class="myObject" interior="0" doublesided="false" model="1890" dimension="0" posX="400" **posY**="30" posZ="100" rotX="0" rotY="0" rotZ="0"></object>
<object id="5702" class="myObject" interior="0" doublesided="false" model="1890" dimension="0" posX="400" **posY**="30" posZ="100" rotX="0" rotY="0" rotZ="0"></object>
<object id="5703" class="myObject" interior="0" doublesided="false" model="1890" dimension="0" posX="400" **posY**="30" posZ="100" rotX="0" rotY="0" rotZ="0"></object>

答案 1 :(得分:0)

您可以使用SimpleXMLElement类创建具有可修改参数的对象。

尝试在php文件中尝试使用此示例:

$xml_fragment = '<object id="5700" interior="0" doublesided="false" model="1890" dimension="0" posX="400" posY="30" posZ="100" rotX="0" rotY="0" rotZ="0"></object>';

$XML = new SimpleXMLElement($xml_fragment);

for ($i=0; $i<500; $i++){
    $XML['posY']=$XML['posY']+20;
    echo $XML->asXML(); 
}

在您的情况下,您将遍历现有对象,为每个字符串创建一个新的$ XML对象,在该对象的“ posY”参数上添加20,然后输出到需要的位置。