标题: 请问几个DOM Functions按属性操作XML的问题
caoxk
新手上路
Rank: 1



UID 127
精华 0
积分 0
帖子 8
翻译 0
原创 0
阅读权限 10
注册 2007-6-27
来自 中国
状态 离线
发表于 2007-8-19 15:50  资料  主页 短消息  加为好友  添加 caoxk 为MSN好友 通过MSN和 caoxk 交谈
请问几个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元素的值。
谢谢回复~~~~~~谢谢了!

[ 本帖最后由 caoxk 于 2007-8-19 08:53 编辑 ]

顶部
cid73
版主
Rank: 7Rank: 7Rank: 7



UID 40
精华 2
积分 25
帖子 32
翻译 0
原创 0
阅读权限 100
注册 2007-5-23
状态 离线
发表于 2007-8-19 17:01  资料  短消息  加为好友 


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 一章读熟

[ 本帖最后由 cid73 于 2007-8-19 17:06 编辑 ]

顶部
caoxk
新手上路
Rank: 1



UID 127
精华 0
积分 0
帖子 8
翻译 0
原创 0
阅读权限 10
注册 2007-6-27
来自 中国
状态 离线
发表于 2007-8-19 17:18  资料  主页 短消息  加为好友  添加 caoxk 为MSN好友 通过MSN和 caoxk 交谈
回复 #2 cid73 的帖子

非常感谢,又帮了我一次大忙
手册看了,但由于都是英文的,几乎看不懂
以后我要多读手册,读不懂的就啃~~~

顶部
sxpo
新手上路
Rank: 1



UID 47
精华 0
积分 0
帖子 24
翻译 0
原创 0
阅读权限 10
注册 2007-5-29
状态 离线
发表于 2007-8-20 20:41  资料  短消息  加为好友 
又见cid73老大

http://www.infowe.com/dom/
中文DOM手册

顶部
赤子乘龙
新手上路
Rank: 1



UID 471
精华 1
积分 10
帖子 4
翻译 0
原创 0
阅读权限 10
注册 2007-10-21
状态 离线
发表于 2007-10-21 10:02  资料  短消息  加为好友 
回复 #2 cid73 的帖子

老大,牛B啊!
不知道我什么时候有你那个水平。。羡慕。。。。
教教我怎么样?
联系QQ316510462

顶部
fidy
新手上路
Rank: 1



UID 87
精华 1
积分 10
帖子 16
翻译 0
原创 1
阅读权限 10
注册 2007-6-18
状态 离线
发表于 2007-10-23 17:03  资料  短消息  加为好友  添加 fidy 为MSN好友 通过MSN和 fidy 交谈
  彻底崩溃了

顶部
 


PHPEye开源社区


当前时区 GMT+8, 现在时间是 2008-10-8 15:08

    Powered by Discuz! 5.5.0  © 2001-2007 Comsenz Inc.
Processed in 0.047536 second(s), 6 queries , Gzip enabled

清除 Cookies - 联系我们 - PHPEye开源社区 - Archiver