php操作xml小结
admin
2023-01-19 13:21:05
0

#php操作xml,SimpleXMLElement类小结


header('Content-type:text/html;charset=utf-8;');

//1.构造函数

/*

$xmlstring=<<

>

虎哥

John

Reminder

Dont forget the meeting!

XML;

*/

$xmlstring=<<

George

John

Reminder

Dont forget the meeting!

XML;




$xml=new SimpleXMLElement($xmlstring);//实例化类

// $xml=simplexml_load_file('test.xml');//通过文件加载来实例化类

// $xml=simplexml_load_string(data):通过XML字符串载入对象。

echo $xml->to;//访问属性

echo '
';


//添加属性

//addAtribute(name,value,ns):函数给SimpleXML元素添加一个属性

//name,规定属性名

//value,规定属性值

//ns,规定属性的命名空间

#$xml->body->addAttribute('sex','男');

echo '
';

/*访问属性

foreach ($xml->body[0]->attributes() as $key=>$val) {

echo "$key=$val";

echo '
';

}

*/


//添加一个子节点

//addChild(name,value,ns):先xml添加一个子节点

#$xml->body->addChild('date','2014-08-01');

/*访问子节点

foreach ($xml->body->children() as $child) {

echo "Child node: " . $child;

}

echo '
';

*/


// asXml(file):函数以字符串的形式从SimpleXMLElement对象返回XML文档

//file:可选,如果规定了这个参数将直接写入指定的文档

// 失败,返回false

echo $xml->asXML();

echo '
';

// attributes():函数获取SimpleXML元素的属性


//children():函数获取指定节点的子节点


// getDocNamespace():函数从SimpleXMLElement对象返回

// 在XML文档中声明的命名空间

print_r($xml->getDocNamespaces());

echo '
';


// getName():函数从SimpleXMLElement对象获取XML元素的名称,

// 如果成功,该函数返回XML元素的名称,如果失败,则返回false

echo $xml->getName();

echo '
';


// getNamespace:函数获取在XML文档中使用的命名空间


//registerXPathNamespace(prefix,ns):函数为下一次XPath查询创建命名空间语境

// prefix:必须,规定命名空间的前缀

// ns:必须,规定命名空间URL,必须匹配XML文档中的命名空间,eg.

$xml->registerXPathNamespace('msg','http://www.w3school.com.cn/example/');

$result=$xml->xpath('msg:body');

print_r($result);

echo '
';


// xpath(path):函数运行对XML文档的Xpath查询,如果成功则返回一个SimpleXMLElement对象的一个数组。

// 如果失败,则返回false。


//simplexml_import_dom(node):函数把Dom节点转换为SimpleXMLElement对象,如果失败返回false。

$dom = new domDocument();

$dom->loadXML('John');

$xml = simplexml_import_dom($dom);

echo $xml->from;

?>


相关内容

热门资讯

伊朗:最高领袖选举会议将在未来... 新华社德黑兰3月7日电 据伊朗伊斯兰革命卫队7日发布的消息,一名伊朗专家会议成员称,选举伊朗最高领袖...
腾讯QQ正式接入OpenCla... 3月7日,腾讯宣布为QQ新增AI生态能力,用户现可通过官方渠道将OpenClaw智能体接入QQ机器人...
四川尔润取得新型玄武岩纤维防眩... 国家知识产权局信息显示,四川尔润玄武岩纤维科技有限公司取得一项名为“一种新型玄武岩纤维防眩板”的专利...
伊朗总统称停止攻击周边国家,讲... 当地时间3月7日,伊朗总统佩泽希齐扬发表讲话,向邻国表示歉意,并表示临时领导委员会6日批准,不再攻击...
折叠屏影像冠军!荣耀Magic... 快科技3月7日消息,荣耀Magic V6将于3月10日在国内发布,今天官方预热称其为折叠屏影像冠军。...
印度:同意伊朗紧急请求 【环球网报道 记者 姜蔼玲】伊朗军舰日前在斯里兰卡附近海域遭美国潜艇击沉,引发外界关注。据路透社报道...
美精锐空降兵突然取消演习,美国... 【文/观察者网 阮佳琪】美军突然取消精锐部队演习,进一步引发外界对其中东兵力部署的猜测。当地时间6日...
特朗普先“赢”上了:伊朗道歉都... 当地时间3月7日,针对伊朗总统佩泽希齐扬向其邻国公开致歉一事,美国总统特朗普又在社交媒体上“大赢特赢...
新任中国驻阿联酋大使赴机场为回... 【环球时报-环球网报道 记者 张志文】3月7日,新任中国驻阿联酋大使曾继新抵阿后即赴迪拜国际机场为搭...
全国人大代表雷军:京津冀联建国... 新京报讯(记者曹晶瑞)“以科技创新加快引领新质生产力,是时代赋予我们这代人的使命,民营企业更要敢为人...