如何使用php从xml中按顺序获取value和childlen元素
我有一个包含value和children元素的xml witch,如下所示:如何使用php从xml中按顺序获取value和childlen元素,php,html,xml,xliff,Php,Html,Xml,Xliff,我有一个包含value和children元素的xml witch,如下所示: <rk id="1" type="seg"> some text <g id="11">italic text</g> other text </rk> 某些文本斜体文本其他文本 我必须按顺序获取值和子元素: $arr = [ 'value1' => 'some text ', 'children' => '<g id="11">
<rk id="1" type="seg">
some text <g id="11">italic text</g> other text
</rk>
某些文本斜体文本其他文本
我必须按顺序获取值和子元素:
$arr = [
'value1' => 'some text ',
'children' => '<g id="11">italic text</g>',
'value2' => ' other text'
];
$arr=[
'value1'=>'some text',
“子项”=>“斜体文本”,
“值2”=>“其他文本”
];
主要目标是在我们更改了值之后,能够以正确的顺序将其放回xml文件
如果您想看到更准确的示例,下面是一段代码,上面是xml,下面是php计数器部分:
<source>
<x id="10">
<rk id="1" type="seg">
some text<g id="11">italic text</g> other text
</rk>
</x>
<rk id="2">
text <g id="12">italic text</g>
</rk>
</source>*/
$source = [
0 => [
'tag' => 'x',
'attrs' => [
0 => [
'name' => 'id',
'value' => '10'
]
],
'childrens' => [
0 => [
'tag' => 'rk',
'attrs' => [
0 => [
'name' => 'id',
'value' => '1'
],
1 => [
'name' => 'type',
'value' => 'seg'
]
],
'value1' => 'some text ',
'childrens' => [
0 => [
'tag' => 'g',
'attrs' => [
0 => [
'name' => 'id',
'value' => '10'
]
],
'value' => 'italic text',
'childrens' => []
],
],
'value2' => ' other text',
]
]
],
1 => [
'tag' => 'rk',
'attrs' => [
0 => [
'name' => 'id',
'value' => '2'
],
1 => [
'name' => 'type',
'value' => 'seg'
]
],
'value1' => 'text',
'childrens' => [
0 => [
'tag' => 'g',
'attrs' => [
0 => [
'name' => 'id',
'value' => '12'
]
],
'value' => 'italic text',
'childrens' => []
],
],
]
];
一些文本斜体文本其他文本
文本斜体文本
*/
$source=[
0 => [
'tag'=>'x',
'attrs'=>[
0 => [
'name'=>'id',
“值”=>“10”
]
],
“儿童”=>[
0 => [
“标记”=>“rk”,
'attrs'=>[
0 => [
'name'=>'id',
“值”=>“1”
],
1 => [
“名称”=>“类型”,
'值'=>'分段'
]
],
'value1'=>'some text',
“儿童”=>[
0 => [
'tag'=>'g',
'attrs'=>[
0 => [
'name'=>'id',
“值”=>“10”
]
],
“值”=>“斜体文本”,
“儿童”=>[]
],
],
'value2'=>'other text',
]
]
],
1 => [
“标记”=>“rk”,
'attrs'=>[
0 => [
'name'=>'id',
“值”=>“2”
],
1 => [
“名称”=>“类型”,
'值'=>'分段'
]
],
'value1'=>'text',
“儿童”=>[
0 => [
'tag'=>'g',
'attrs'=>[
0 => [
'name'=>'id',
“值”=>“12”
]
],
“值”=>“斜体文本”,
“儿童”=>[]
],
],
]
];
请向我们展示您的努力。我想知道在这种情况下如何使用xml,当xml看起来像这样时:[编辑]:我想知道在这种情况下如何使用xml,当xml看起来像这样时:“一些文本两个其他文本”。所以我想把它转换成数组(因为我们有大的XML,我们需要在网页上编辑它们,但我们不想每次都解析文件,所以我们想保存在数据库(mongoDB)中)。我们还需要将数组转换回新值。如果您需要一个库来使用PHP中的XLIFF,请查看答案。别忘了投票支持你认为有用的答案。如果没有,请改进您的问题,并写下您是如何尝试从XML到数组的,以及哪些不适合您。顺便说一句,如果您的示例应该是XLIFF 1.2,那么它是无效的:rk
元素应该是mrk
@Twois请参见