찾다
php教程php手册php入门教程xml学习笔记

明确目标:1、理解xml的结构,2、如何动态建立xml文件,3、如何读取和修改xml文件

一、xml的结构是树形结构,这个好理解,简单写一个:

<?xml version="1.0"?>
<pictures>2 
<picture>3 
<id>1</id>4 
<name>pic 1</name>5</picture>6 
<picture>7 
<id>2</id>8 
<name>pic 2</name>9</picture>10 
<picture>11 
<id>3</id>12 
<name>pic 3</name>13</picture>14</pictures>

二、使用的php创建:

1. 定义一个dom对象:$dom = new domdocument('1.0');

2. 添加子元素:$dom->appendchild($dom->createelement("pictures"))

内存中的原型是:

继续往里边加子元素:*->appendchild($dom->createelement("picture"));

继续加:**->appendchild($dom->createelement("id"));

不加子元素了,加节点: ***->appendchild($dom->createnode("1"))

上面的*代表上上一行的代码,这样一来就可以写成一行:

$dom->appendchild($dom->createelement("pictures"))->appendchild($dom->createelement("picture"))->appendchild($dom->createelement("id"))->appendchild($dom->createnode("1"));

现在内存中应该是这样的:1

显然离要求还远,很容易看懵的,因此一般这么写:$pictures = $dom->appendchild($dom->createelement("pictures"));

$picture = $pictures->appendchild($dom->createelement("picture"));

$id = $picture->appendchild($dom->createelement("id"));

$id->appendchild($dom->createnode("1"));

下面还可以接着创建name节点:

$name = $picture->appendchild($dom->createelement("name"));

$name->appendchild($dom->createnode("pic 1"));

接下来还要接着创建picture节点:

$picture = $pictures->appendchild($dom->createelement("picture"));

其实这些麻烦的事可以写个for循环来实现.

生成xml文件:

$dom->formatoutput = true;//设置格式化输出

$dom->save("erhsh.xml");//保存xml文件

三、读取xml文件

1、还是定义一个dom对象;$dom->new domdocument();

2、加载xml文件:$dom->load("erhsh.xml");

3、按照节点的名字取得节点集合:$dom->getelementbytagname("pictures");

不过有一种我喜欢的方法:simplexml_load_file("erhsh.xml");此方法可以把xml文件的内容转换成对象的形式,使用"->"结和"[]"很容易去的xml的内容;

但是在开发中还是遇到了一点问题,当执行:print_r($xml->pictures);时输出的是一个 simplexmlelement 对象,([picture] => array([0]=>array(...)[1]=>array(...)));

再执行:print_r($xml->pictures->picture);输出的是n个分开的对象.

执行:print_r($xml->pictures->picture[0]->id);输出的还是一个对象,这就很不理解,应该是一个字符串, 最后网上说是“迭代对象”,应该使用echo输出,print_r(), var_dump()输出不准确.

文章网址:

随意转载^^但请附上教程地址。

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.