xml getelementsbytagname php,用PHP编写和读取XML的几种方式
一.使用DOM生成和读取XML文件
实例一:
//Creates XML string and XML document using the DOM
$dom = new DomDocument('1.0');
//add root -
$books = $dom->appendChild($dom->createElement_x_x ('books'));
//add element to
$book = $books->appendChild($dom->createElement_x_x ('book'));
//add
element to
$title = $book->appendChild($dom->createElement_x_x ('title'));
//add
text node element to
$title->appendChild($dom->createTextNode('Great American Novel'));
//generate xml
$dom->formatOutput = true; // set the formatOutput attribute of domDocument to true
//save XML as string or file
$test1 = $dom->saveXML(); // put string in test1
$dom -> save('test1.xml'); // save as file
?>
实例二:
$aa = "111";
$xmlstr = <<{$aa}
Joe
Jane
I know that's the answer -- but what's the question?
XML;
$dom = new domDocument;
$dom->loadXML($xmlstr);
$test1 = $dom->saveXML();
$dom->save('test1.xml');
实例三:
test1.xml:
Jack Herrington
PHP Hacks
O'Reilly
Jack Herrington
Podcasting Hacks
O'Reilly
example.php:
$doc = new DOMDocument();
$doc->load('test1.xml');
$books = $doc->getElementsByTagName("book");
foreach($books as $book){
$authors = $book->getElementsByTagName("author");
$author = $authors->item(0)->nodeValue;
$publishers = $book->getElementsByTagName( "publisher" );
$publisher = $publishers->item(0)->nodeValue;
$titles = $book->getElementsByTagName( "title" );
$title = $titles->item(0)->nodeValue;
echo "$title - $author - $publisher\n";
}
二.使用simple生成和读取xml文件
实例一:
$xmlstr = <<Great American Novel
Cliff
really great guy
Lovely Woman
matchless beauty
Loyal Dog
sleepy
Cliff meets Lovely Woman. Loyal Dog sleeps, but wakes up to bark
at mailman.
4
9
XML;
//提取节点内容
$xml = new SimpleXMLElement($xmlstr);
foreach ($xml->book[0]->success as $success) {
switch((string) $success['type']) { // Get attributes as element indices
case 'bestseller':
echo $success. ' months on bestseller list
';
break;
case 'bookclubs':
echo $success. ' bookclub listings';
break;
}
}
//修改文本节点内容
$xml = new SimpleXMLElement($xmlstr);
$xml->book[0]->characters->character[0]->name = 'Big Cliff';
echo $xml->asXML();
//添加子元素的文本节点
$xml = new SimpleXMLElement($xmlstr);
$character = $xml->book[0]->characters->addChild('character');
$character->addChild('name', 'Yellow Cat');
$character->addChild('desc', 'aloof');
$success = $xml->book[0]->addChild('success', '2');
$success->addAttribute('type', 'reprints');
echo $xml->asXML();
?>
实例二:
if (file_exists('test1.xml')) { //读取xml文件
$xml = simplexml_load_file('test1.xml');
var_dump(xml);
} else {
exit('Failed to open test1.xml.');
}
三.DOM和simple互操作
DOM导入simpleXML:
$sxe = simplexml_load_string('Great American
Novel
');
if ($sxe === false) {
echo 'Error while parsing the document';
exit;
}
$dom_sxe = dom_import_simplexml($sxe);
if (!$dom_sxe) {
echo 'Error while converting XML';
exit;
}
$dom = new DOMDocument('1.0');
$dom_sxe = $dom->importNode($dom_sxe, true);
$dom_sxe = $dom->appendChild($dom_sxe);
$test2 = $dom->saveXML(); // put string in test2
$dom -> save('test2.xml'); // save as file
?>
simpleXML导入DOM:
$dom = new domDocument;
$dom->loadXML('Great American
Novel');
if (!$dom) {
echo 'Error while parsing the document';
exit;
}
$s = simplexml_import_dom($dom);
echo $s->book[0]->title; // Great American Novel
?>
xml getelementsbytagname php,用PHP编写和读取XML的几种方式相关推荐
- spark消费kafka产生数据堆积怎么处理_SparkStreaming读取Kafka的两种方式
本文主要从以下几个方面介绍SparkStreaming读取Kafka的两种方式: 一.SparkStreaming简介 二.Kafka简介 三.Redis简介(可用于保存历史数据或偏移量数据) 四.S ...
- sparkstreaming 读取mysql_SparkStreaming读取Kafka的两种方式
本文主要从以下几个方面介绍SparkStreaming读取Kafka的两种方式: 一.SparkStreaming简介 二.Kafka简介 三.Redis简介(可用于保存历史数据或偏移量数据) 四.S ...
- C++ 读取文件的四种方式
本文介绍C++ 读取文件的四种方式. 第一种方式: #include<iostream> #include<fstream> using namespace std;int m ...
- nodejs 逐行读取文件的两种方式
nodejs 逐行读取文件的两种方式 通过readline的方式 const fs = require('fs'); const readline = require('readline');let ...
- Python读取/保存图片的3种方式(PIL、matplotlib、cv2)
文章目录 Python读取/保存图片的3种方式 PIL方式 matplotlib方式 OpenCV方式 总结: Python读取/保存图片的3种方式 PIL方式 from PIL import Ima ...
- springboot读取配置文件的三种方式
项目中springboot读取配置文件的三种方式: 1.使用Environment 2.使用@Value 3.使用@ConfigurationProperties注解映射到bean中,定义一个User ...
- python读取图像的几种方式
python读取图像的几种方式 本文介绍几种基于python的图像读取方式: 基于PIL库的图像读取.保存和显示 基于opencv-python的图像读取.保存和显示 基于matplotlib的图像读 ...
- Java读取证书的两种方式
关于证书基础以及创建.查看.删除.导入.导出以及其他功能详解请参照:Java使用keytool创建CA证书 Java读取证书有两种方式 1.从文件中读取 public static void main ...
- python读取多张图片_python读取图片的几种方式及图像宽和高的存储顺序
python读取图片的几种方式及图像宽和高的存储顺序 1.opencv 2.imageio 3.matplotlib 4.scipy # coding:utf-8 import cv2 import ...
最新文章
- AAAI2020-图神经网络(GNN)过去、现在、应用和未来最新研究进展分享
- 如何让普通进程获得 root 的洪荒之力?
- cmake 头文件 库文件
- 身为java程序员你需要知道的网站(包含书籍,面试题,架构...)
- 【Arduino】HX711 拉力计称重模块 两个模块同时使用
- 【转】IT名企面试:腾讯笔试题(2)
- API 层实现语音录制
- JavaWeb JDBC初步连接和JDBC连接规范化
- 微软开源 TensorFlow-DirectML,为 WSL2 提供 GPU 支持
- myeclipse 创建work set 后不显示的解决方法
- 烂泥:学习ssh之ssh隧道应用
- 想做产品经理,产品经理培训靠谱吗?
- 大数据应用能力层次模型
- 股价大涨61%,趣头条还能维持下一季增长吗?
- plc与计算机怎么网络连接 图,PLC与输入/输出设备的连接图解
- 采用MCaaS模式 SAP为有孚网络提供基于HANA的解决方案及服务
- java-sec-code学习之path_traversal
- LinkedIn高级分析师王益:大数据时代的理想主义和现实主义(图灵访谈)
- python txt文本转json格式
- HTTP接口测试代码,HTTP GET/POST模拟请求测试工具
热门文章
- 10个问题带你全面理解Linux性能优化
- python gui编程 自动化框架_使用Python进行GUI操作自动化
- 计算机知识体系图谱总结
- java进程内的缓存框架Ehcach
- RxHttp 一条链发送请求之注解处理器 Generated API(四)
- android应用自动打开网页,Android 使用Scheme实现从网页启动APP
- html代码自动提示语怎么设置,怎么为Html的Select加提示语_html
- 最好用的Unity代码编辑器Rider如何免费申请?
- 如何让vim支持python_无法使vim支持python
- OpenShift Security (8) - 安装并运行 DevSecOps 应用