<?xml version="1.0" encoding="utf-8" ?>
<AllData>
<xueshengmen>
<xuesheng>
<name>张三</name>
<yuwen>80</yuwen>
<shuxue>90</shuxue>
<yingyu>70</yingyu>
</xuesheng>
<xuesheng>
<name>李四</name>
<yuwen>60</yuwen>
<shuxue>90</shuxue>
<yingyu>75</yingyu>
</xuesheng>
</xueshengmen>
</AllData>
6 个解决方案
#1
有会的吗?在线等
#2
人呢?
#3
一般对xml做工作的时候,我们需要详细的"结构" (DTD 或 xml schema)
比如,xueshengmen是否一个文件只有一个, 是否必须在AllData下面,
是否一定有该元素,
xuesheng是否是xueshengmen的唯一元素,
是否有数量上限,是否需要排序,是否不能重复,如何判断重复(同一个name的是否看做重复的)
........
比如,xueshengmen是否一个文件只有一个, 是否必须在AllData下面,
是否一定有该元素,
xuesheng是否是xueshengmen的唯一元素,
是否有数量上限,是否需要排序,是否不能重复,如何判断重复(同一个name的是否看做重复的)
........
#4
其实不用考虑那么复杂,就是两个一模一样的XML,将第一个的xueshengmen下面的所有节点追加到第二个XML下面就行了~
#5
<?php
$xml1 = <<<XML
<?xml version="1.0" encoding="utf-8" ?>
<AllData>
<xueshengmen>
<xuesheng>
<name>张三</name>
<yuwen>80</yuwen>
<shuxue>90</shuxue>
<yingyu>70</yingyu>
</xuesheng>
<xuesheng>
<name>李四</name>
<yuwen>60</yuwen>
<shuxue>90</shuxue>
<yingyu>75</yingyu>
</xuesheng>
</xueshengmen>
</AllData>
XML;
$xml2 = <<<XML
<?xml version="1.0" encoding="utf-8" ?>
<AllData>
<xueshengmen>
<xuesheng>
<name>王五</name>
<yuwen>40</yuwen>
<shuxue>90</shuxue>
<yingyu>70</yingyu>
</xuesheng>
<xuesheng>
<name>赵六</name>
<yuwen>60</yuwen>
<shuxue>80</shuxue>
<yingyu>75</yingyu>
</xuesheng>
</xueshengmen>
</AllData>
XML;
$dom1 = new DOMDocument('1.0', 'utf-8');
$dom1->loadXML($xml1);
$dom2 = new DOMDocument('1.0', 'utf-8');
$dom2->loadXML($xml2);
$xueshengmen1 = $dom1->getElementsByTagName('xueshengmen')->item(0);
$xueshengmen2 = $dom2->getElementsByTagName('xueshengmen')->item(0);
//循环添加
foreach($xueshengmen1->childNodes as $node) {
$node = $dom2->importNode($node, true);
$xueshengmen2->appendChild($node);
}
var_dump($dom2->saveXML());
#6
用PHP的XML操作函数先循环读出2个XML的数据部分:
<xuesheng>
<name>张三</name>
<yuwen>80</yuwen>
<shuxue>90</shuxue>
<yingyu>70</yingyu>
</xuesheng>
然后再用字符串操作组合2个XML数据部分,再用FSO文件操作函数组合成一个XML。思路大概就是这样:!
<xuesheng>
<name>张三</name>
<yuwen>80</yuwen>
<shuxue>90</shuxue>
<yingyu>70</yingyu>
</xuesheng>
然后再用字符串操作组合2个XML数据部分,再用FSO文件操作函数组合成一个XML。思路大概就是这样:!
#1
有会的吗?在线等
#2
人呢?
#3
一般对xml做工作的时候,我们需要详细的"结构" (DTD 或 xml schema)
比如,xueshengmen是否一个文件只有一个, 是否必须在AllData下面,
是否一定有该元素,
xuesheng是否是xueshengmen的唯一元素,
是否有数量上限,是否需要排序,是否不能重复,如何判断重复(同一个name的是否看做重复的)
........
比如,xueshengmen是否一个文件只有一个, 是否必须在AllData下面,
是否一定有该元素,
xuesheng是否是xueshengmen的唯一元素,
是否有数量上限,是否需要排序,是否不能重复,如何判断重复(同一个name的是否看做重复的)
........
#4
其实不用考虑那么复杂,就是两个一模一样的XML,将第一个的xueshengmen下面的所有节点追加到第二个XML下面就行了~
#5
<?php
$xml1 = <<<XML
<?xml version="1.0" encoding="utf-8" ?>
<AllData>
<xueshengmen>
<xuesheng>
<name>张三</name>
<yuwen>80</yuwen>
<shuxue>90</shuxue>
<yingyu>70</yingyu>
</xuesheng>
<xuesheng>
<name>李四</name>
<yuwen>60</yuwen>
<shuxue>90</shuxue>
<yingyu>75</yingyu>
</xuesheng>
</xueshengmen>
</AllData>
XML;
$xml2 = <<<XML
<?xml version="1.0" encoding="utf-8" ?>
<AllData>
<xueshengmen>
<xuesheng>
<name>王五</name>
<yuwen>40</yuwen>
<shuxue>90</shuxue>
<yingyu>70</yingyu>
</xuesheng>
<xuesheng>
<name>赵六</name>
<yuwen>60</yuwen>
<shuxue>80</shuxue>
<yingyu>75</yingyu>
</xuesheng>
</xueshengmen>
</AllData>
XML;
$dom1 = new DOMDocument('1.0', 'utf-8');
$dom1->loadXML($xml1);
$dom2 = new DOMDocument('1.0', 'utf-8');
$dom2->loadXML($xml2);
$xueshengmen1 = $dom1->getElementsByTagName('xueshengmen')->item(0);
$xueshengmen2 = $dom2->getElementsByTagName('xueshengmen')->item(0);
//循环添加
foreach($xueshengmen1->childNodes as $node) {
$node = $dom2->importNode($node, true);
$xueshengmen2->appendChild($node);
}
var_dump($dom2->saveXML());
#6
用PHP的XML操作函数先循环读出2个XML的数据部分:
<xuesheng>
<name>张三</name>
<yuwen>80</yuwen>
<shuxue>90</shuxue>
<yingyu>70</yingyu>
</xuesheng>
然后再用字符串操作组合2个XML数据部分,再用FSO文件操作函数组合成一个XML。思路大概就是这样:!
<xuesheng>
<name>张三</name>
<yuwen>80</yuwen>
<shuxue>90</shuxue>
<yingyu>70</yingyu>
</xuesheng>
然后再用字符串操作组合2个XML数据部分,再用FSO文件操作函数组合成一个XML。思路大概就是这样:!