记载一个phper的历程!http://phperwuhan.blog.phpchina.com
DOM Functions例子
上一篇 /
下一篇 2008-01-30 15:37:09
/ 个人分类:php
来源:http://phpeye.com/bbs/redirect.php?fid=10&tid=202&goto=nextoldset
请问几个DOM Functions按属性操作XML的问题
XML文件为Client.xml,内容如下
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE Client [
<!ELEMENT Client (Accounts)*>
<!ELEMENT Accounts (Group,Tag)>
<!ATTLIST Accounts Id ID #REQUIRED>
<!ELEMENT Group (#PCDATA)>
<!ELEMENT Tag (#PCDATA)>
]>
<Client>
<Accounts Id="A1">
<Group>0</Group>
<Tag>自定义名称1</Tag>
</Accounts>
<Accounts Id="A2">
<Group>0</Group>
<Tag>自定义名称2</Tag>
</Accounts>
</Client>
问题如下:
1.怎么按以上规则增加一个Accounts 元素,设定属性Id="A3",Group子元素值为“1”,Tag子元素值为“自定义名称3”;
2.怎么删除属性为Id="A2" 的 Accounts 元素;
3.怎么分别修改属性为Id="A2" 的 Accounts 元素下的Group和Tag元素的值。
谢谢回复~~~~~~谢谢了!
PHP代码如下:
$domDoc = DOMDocument::loadXML($xml);
$rootNode = $domDoc->getElementsByTagName('Client')->item(0);
// 1.
$accounts = $domDoc->createElement('Accounts');
$accounts->setAttribute('Id', 'A3');
$group = $domDoc->createElement('Group', '1');
$tag = $domDoc->createElement('Tag', '自定义名称3');
$accounts->appendChild($group);
$accounts->appendChild($tag);
$rootNode->appendChild($accounts);
echo $domDoc->validate(), "\n";
echo $domDoc->saveXML();
// 3.
$A2 = $domDoc->getElementById('A2');
$A2->replaceChild(
$domDoc->createElement('Group', '100'),
$A2->getElementsByTagName('Group')->item(0)
);
$A2->replaceChild(
$domDoc->createElement('Tag', '自定义名称200'),
$A2->getElementsByTagName('Tag')->item(0)
);
echo $domDoc->validate(), "\n";
echo $domDoc->saveXML();
// 2.
$rootNode->removeChild($A2);
echo $domDoc->validate(), "\n";
echo $domDoc->saveXML();
这些问题太基础, 我几乎是在背手册. 建议把手册中 XXX. DOM Functions 一章读熟
导入论坛
收藏
分享给好友
管理
举报
TAG:
php