php中DOMDocument简单用法(XML创建、添加、删除、修改)
来源:互联网 发布:直接读股票系统数据库 编辑:程序博客网 时间:2024/06/10 06:20
PHP写XML方法很多,这里主要介绍一下DOMDocument的用法,跟 JS大体上相同,其实非常简单。
共分四个文件,分别是创建、增加、删除、修改四个功能,变量都是写死的,改一改用$_POST方式接收就可以用了
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<?php
$xmlpatch
=
'index.xml'
;
$_id
=
'1'
;
$_title
=
'title1'
;
$_content
=
'content1'
;
$_author
=
'author1'
;
$_sendtime
=
'time1'
;
$_htmlpatch
=
'1.html'
;
$doc
=
new
DOMDocument(
'1.0'
,
'utf-8'
);
$doc
-> formatOutput = true;
$root
=
$doc
-> createElement(
'root'
);
//新建节点
$index
=
$doc
-> createElement(
'index'
);
//新建节点
$url
=
$doc
-> createAttribute(
'url'
);
//新建属性
$patch
=
$doc
-> createTextNode(
$_htmlpatch
);
//新建TEXT值
$url
-> appendChild(
$patch
);
//将$patch文本设为$url属性的值
$id
=
$doc
-> createAttribute(
'id'
);
$newsid
=
$doc
-> createTextNode(
$_id
);
$id
-> appendChild(
$newsid
);
$title
=
$doc
-> createAttribute(
'title'
);
$newstitle
=
$doc
-> createTextNode(
$_title
);
$title
-> appendChild(
$newstitle
);
$content
=
$doc
-> createTextNode(
$_content
);
//节点值
$author
=
$doc
-> createAttribute(
'author'
);
$newsauthor
=
$doc
-> createTextNode(
$_author
);
$author
-> appendChild(
$newsauthor
);
$sendtime
=
$doc
-> createAttribute(
'time'
);
$newssendtime
=
$doc
-> createTextNode(
$_sendtime
);
$sendtime
-> appendChild(
$newssendtime
);
$index
-> appendChild(
$id
);
//将$id设为index节点的属性,以下类同
$index
-> appendChild(
$title
);
$index
-> appendChild(
$content
);
$index
-> appendChild(
$url
);
$index
-> appendChild(
$author
);
$index
-> appendChild(
$sendtime
);
$root
-> appendChild(
$index
);
//设置index为root字节点
$doc
-> appendChild(
$root
);
//设置root为跟节点
$doc
-> save(
$xmlpatch
);
//保存文件
echo
$xmlpatch
.
' has create success'
;
?>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<p>
//add.php 增加功能(跟index.php文件差不多,主要就是加个load载入跟 $root = $doc -> do//cumentElement获得跟节点
</p>
<p>
$xmlpatch
=
'index.xml'
;
$_id
=
'2'
;
$_title
=
'title2'
;
$_content
=
'content2'
;
$_author
=
'author2'
;
$_sendtime
=
'time2'
;
$_htmlpatch
=
'2.html'
;
</p>
<p>
$doc
=
new
DOMDocument();
$doc
-> formatOutput = true;
if
(
$doc
-> load(
$xmlpatch
)) {
$root
=
$doc
-> documentElement;
//获得根节点(root)
$index
=
$doc
-> createElement(
'index'
);
</p>
<p>
$url
=
$doc
-> createAttribute(
'url'
);
$patch
=
$doc
-> createTextNode(
$_htmlpatch
);
$url
-> appendChild(
$patch
);
</p>
<p>
$id
=
$doc
-> createAttribute(
'id'
);
$newsid
=
$doc
-> createTextNode(
$_id
);
$id
-> appendChild(
$newsid
);
</p>
<p>
$title
=
$doc
-> createAttribute(
'title'
);
$newstitle
=
$doc
-> createTextNode(
$_title
);
$title
-> appendChild(
$newstitle
);
</p>
<p>
$content
=
$doc
-> createTextNode(
$_content
);
</p>
<p>
$author
=
$doc
-> createAttribute(
'author'
);
$newsauthor
=
$doc
-> createTextNode(
$_author
);
$author
-> appendChild(
$newsauthor
);
</p>
<p>
$sendtime
=
$doc
-> createAttribute(
'time'
);
$newssendtime
=
$doc
-> createTextNode(
$_sendtime
);
$sendtime
-> appendChild(
$newssendtime
);
</p>
<p>
$index
-> appendChild(
$id
);
$index
-> appendChild(
$title
);
$index
-> appendChild(
$content
);
$index
-> appendChild(
$url
);
$index
-> appendChild(
$author
);
$index
-> appendChild(
$sendtime
);
</p>
<p>
$root
-> appendChild(
$index
);
</p>
<p>
$doc
-> save(
$xmlpatch
);
</p>
<p>
echo
$_id
.
' has been added in '
.
$xmlpatch
;
</p>
<p>
}
else
{
echo
'xml file loaded error!'
;
}
</p>
<p>
}
</p>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
//edit.php 修改功能(这里只修改title属性值 跟节点值)
<?php
$xmlpatch
=
'index.xml'
;
$_id
=
'2'
;
$_title
=
'has been changed'
;
$_content
=
'has been changed'
;
$doc
=
new
DOMDocument();
$doc
-> formatOutput = true;
if
(
$doc
-> load(
$xmlpatch
)) {
$root
=
$doc
-> documentElement;
$elm
=
$root
-> getElementsByTagName(
'index'
);
$checkexist
= 0;
foreach
(
$elm
as
$new
) {
if
(
$new
-> getAttribute(
'id'
) ==
$_id
) {
$new
-> setAttribute(
'title'
,
$_title
);
$new
-> nodeValue =
$_content
;
//修改节点值,真是太意外了,没想到跟JS一样直接能赋值...
//$new -> removeChild($new -> nodevalue);
$checkexist
= 1;
}
}
if
(
$checkexist
== 0) {
echo
$_id
.
' is not found in '
.
$xmlpatch
;
}
else
{
$doc
-> save(
$xmlpatch
);
echo
$_id
.
' has been changed'
;
}
}
else
{
echo
'xml file loaded error!'
;
}
?>
1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
//del.php 删除功能
<?php
$xmlpatch
=
'index.xml'
;
$_id
=
'2'
;
$doc
=
new
DOMDocument();
$doc
-> formatOutput = true;
if
(
$doc
-> load(
$xmlpatch
)) {
$root
=
$doc
-> documentElement;
$elm
=
$root
-> getElementsByTagName(
'index'
);
foreach
(
$elm
as
$new
) {
if
(
$new
-> getAttribute(
'id'
) ==
$_id
) {
if
(
$root
-> removeChild(
$new
)) {
echo
$_id
.
' has been deleted'
;
}
else
{
echo
$_id
.
' delete failed'
;
}
}
}
$doc
-> save(
$xmlpatch
);
}
else
{
echo
'xml file loaded error!'
;
}
?>
0 0
- php中DOMDocument简单用法(XML创建、添加、删除、修改)
- php中DOMDocument简单用法(XML创建、添加、删除、修改)
- php中DOMDocument简单用法(XML创建、添加、删除、修改)
- php中DOMDocument简单用法示例代码(XML创建、添加、删除、修改)
- PHP DOMDocument 写xml 添加属性字段
- 1 详解PHP使用DOMDocument类遍历、增加、修改、删除XML节点操作
- 详解PHP使用DOMDocument类遍历、增加、修改、删除XML节点操作
- PHP 创建、增加、删除、修改 xml
- php DOMDocument用法
- 如何使用PHP DOMDocument创建动态XML文件
- 如何使用PHP DOMDocument创建动态XML文件
- PHP XML操作类DOMDocument
- PHP XML操作类DOMDocument
- XML 查询、添加、修改、删除
- XML 查询、添加、修改、删除
- XML 查询、添加、修改、删除
- Oracle创建,添加,修改,删除
- javascript 创建删除修改 xml
- 带快照的写惩罚
- 3-1-栈的顺序存储结构-栈和队列-第3章-《数据结构》课本源码-严蔚敏吴伟民版
- 【莫比乌斯反演】关于Mobius反演与lcm的一些关系与问题简化(BZOJ 2154 crash的数字表格&&BZOJ 2693 jzptab)
- UIView添加分类
- 庖丁解牛之UPack工作原理及实例分析(1)
- php中DOMDocument简单用法(XML创建、添加、删除、修改)
- 积善之家必有余庆,积恶之家必有余殃
- 打破盒子模式的限制,使用Clip-Path创建响应式图形
- fh admin bootstrap 模版下载 框架 源码 SpringMVC mybatis or hibernate
- 常用hive命令
- VS 解决方案 从高版本降为地版本
- POJ 3318 Matrix Multiplication(随机算法)
- [.NET源码] asp.net中手机版和PC版识别
- 浅谈字符串匹配的几种算法(KMP,Boyer-Moore)