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;

?>


相关内容

热门资讯

德国总理:美国正在被伊朗羞辱 德国之声4月27日报道,德国总理默茨在访问一所学校时表示,在当前的持续冲突中,伊朗领导层正试图羞辱美...
理响中国|“长”歌以行,风云激... 光阴如梭,东方潮阔。这里是中国的长三角,世界的长三角。无论过去、现在还是未来,这片土地都因时代而生,...
白宫:特朗普及其国安团队开会讨... 新华社华盛顿4月27日电 美国白宫新闻秘书莱维特27日在记者会上证实,总统特朗普及其国家安全团队当天...
人民日报刊文:日本放开杀伤性武... 日本放开杀伤性武器出口推高地缘冲突风险(国际论坛)常思纯《人民日报》(2026年04月28日 第 0...
医疗保障法草案二审:明确生育保... 满足多样化健康保障需求本报记者 彭 波4月27日,医疗保障法草案二审稿提请十四届全国人大常委会第二十...
天津一景区发生自转旋翼机事故1... 澎湃新闻记者 吕新文中国民用航空华北地区管理局4月22日公布《豪客通航“10•1”天津长芦汉盐旅游区...
卡塔尔埃米尔与美国总统特朗普通... 当地时间24日,卡塔尔埃米尔塔米姆与美国总统特朗普通电话,重点就中东地区局势以及伊朗与美国谈判问题交...
男子30年前被扣押2859克黄... 澎湃新闻记者 王鑫家住辽宁省大连市的潘永嘉近日向澎湃新闻反映称,三十年前,他在大连周水子机场被盖州市...
商务部:取消反制欧盟两家金融机... 中华人民共和国商务部令二〇二六年 第1号鉴于欧盟已取消对中国两家金融机构的制裁措施,现公布《关于取消...
过去24小时共有5艘船只通过霍... 总台记者当地时间24日获悉,过去24小时内,共有5艘船只通过霍尔木兹海峡,其中包括一艘伊朗油轮。(总...