PHP5中使用DOM控制XML实现代码_PHP教程
下面的例子简单的演示了DOM对XML的操作,详细解释请看代码中的注释
<? /************************************************ ** use XML in PHP5 ** reference site: ** http://cn.php.net/manual/zh/ref.dom.php ** the follow codes need PHP5 support *************************************************/ //首先要创建一个DOMDocument对象 $dom = new DomDocument(); //然后载入XML文件 $dom -> load("test.xml"); //输出XML文件 //header("Content-type: text/xml;charset=gb2312"); //echo $dom -> saveXML(); //保存XML文件,返回值为int(文件大小,以字节为单位) //$dom -> save("newfile.xml"); echo "<hr/>取得所有的title元素:<hr/>"; $titles = $dom -> getElementsByTagName("title"); foreach ($titles as $node){ echo $node -> textContent . "<br/>"; //这样也可以 //echo $node->firstChild->data . "<br/>"; } /* echo "<hr/>从根结点遍历所有结点:<br/>"; foreach ($dom->documentElement->childNodes as $items) { //如果节点是一个元素(nodeType == 1)并且名字是item就继续循环 if ($items->nodeType == 1 && $items->nodeName == "item") { foreach ($items->childNodes as $titles) { //如果节点是一个元素,并且名字是title就打印它. if ($titles->nodeType == 1 && $titles->nodeName == "title") { print $titles->textContent . "\n"; } } } } */ //使用XPath查询数据 echo "<hr/>使用XPath查询的title节点结果:<hr/>"; $xpath = new domxpath($dom); $titles = $xpath->query("/rss/channel/item/title"); foreach ($titles as $node){ echo $node->textContent."<br/>"; } /* 这样和使用getElementsByTagName()方法差不多,但是Xpath要强大的多 深入一点可能是这样: /rss/channel/item[position() = 1]/title 返回第一个item元素的所有 /rss/channel/item/title[@id = '23'] 返回所有含有id属性并且值为23的title /rss/channel/&folder&/title 返回所有articles元素下面的title(译者注:&folder&代表目录深度) */ //向DOM中写入新数据 $item = $dom->createElement("item"); $title = $dom->createElement("title"); $titleText = $dom->createTextNode("title text"); $title->appendChild($titleText); $item->appendChild($title); $dom->documentElement->getElementsByTagName('channel')->item(0)->appendChild($item); //从DOM中删除节点 //$dom->documentElement->RemoveChild($dom->documentElement->getElementsByTagName("channel")->item(0)); //或者使用xpath查询出节点再删除 //$dom->documentElement->RemoveChild($xpath->query("/rss/channel")->item(0)); //$dom->save("newfile.xml"); //从DOM中修改节点数据 //修改第一个title的文件 //这个地方比较笨,新创建一个节点,然后替换旧的节点。如果哪位朋友有其他好的方法请一定要告诉我 $firstTitle = $xpath->query("/rss/channel/item/title")->item(0); $newTitle = $dom->createElement("title"); $newTitle->appendChild(new DOMText("This's the new title text!!!")); $firstTitle->parentNode->replaceChild($newTitle, $firstTitle); //修改属性 //$firstTitle = $xpath->query("/rss/channel/item/title")->item(0); //$firstTitle->setAttribute("orderby", "4"); $dom->save("newfile.xml"); echo "<hr/><a href=\"newfile.xml\">查看newfile.xml</a>"; //下面的代码获得并解析php.net的首页,将返第一个title元素的内容。 /* $dom->loadHTMLFile("http://www.php.net/"); $title = $dom->getElementsByTagName("title"); print $title->item(0)->textContent; */ ?>
下面是test.xml文件代码:
<?xml version="1.0" encoding="gb2312"?> <rss version="2.0"> <channel> <title>javascript</title> <link>http://blog.csdn.net/zhongmao/category/29515.aspx</link> <description>javascript</description> <language>zh-chs</language> <generator>.text version 0.958.2004.2001</generator> <item> <creator>zhongmao</creator> <title orderby="1">out put excel used javascript</title> <link>http://blog.csdn.net/zhongmao/archive/2004/09/15/105385.aspx</link> <pubdate>wed, 15 sep 2004 13:32:00 gmt</pubdate> <guid>http://blog.csdn.net/zhongmao/archive/2004/09/15/105385.aspx</guid> <comment>http://blog.csdn.net/zhongmao/comments/105385.aspx</comment> <comments>http://blog.csdn.net/zhongmao/archive/2004/09/15/105385.aspx#feedback</comments> <comments>2</comments> <commentrss>http://blog.csdn.net/zhongmao/comments/commentrss/105385.aspx</commentrss> <ping>http://blog.csdn.net/zhongmao/services/trackbacks/105385.aspx</ping> <description>test description</description> </item> <item> <creator>zhongmao</creator> <title orderby="2">out put word used javascript</title> <link>http://blog.csdn.net/zhongmao/archive/2004/08/06/67161.aspx</link> <pubdate>fri, 06 aug 2004 16:33:00 gmt</pubdate> <guid>http://blog.csdn.net/zhongmao/archive/2004/08/06/67161.aspx</guid> <comment>http://blog.csdn.net/zhongmao/comments/67161.aspx</comment> <comments>http://blog.csdn.net/zhongmao/archive/2004/08/06/67161.aspx#feedback</comments> <comments>0</comments> <commentrss>http://blog.csdn.net/zhongmao/comments/commentrss/67161.aspx</commentrss> <ping>http://blog.csdn.net/zhongmao/services/trackbacks/67161.aspx</ping> <description>test word description</description> </item> <item> <creator>zhongmao</creator> <title orderby="3">xmlhttp</title> <link>http://blog.csdn.net/zhongmao/archive/2004/08/02/58417.aspx</link> <pubdate>mon, 02 aug 2004 10:11:00 gmt</pubdate> <guid>http://blog.csdn.net/zhongmao/archive/2004/08/02/58417.aspx</guid> <comment>http://blog.csdn.net/zhongmao/comments/58417.aspx</comment> <comments>http://blog.csdn.net/zhongmao/archive/2004/08/02/58417.aspx#feedback</comments> <comments>0</comments> <commentrss>http://blog.csdn.net/zhongmao/comments/commentrss/58417.aspx</commentrss> <ping>http://blog.csdn.net/zhongmao/services/trackbacks/58417.aspx</ping> <description>xmlhttpaaa asd bb cc dd</description> </item> </channel> </rss>
以上就是PHP5中使用DOM控制XML实现代码_PHP教程的内容,更多相关内容请关注PHP中文网(www.php.cn)!

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

뜨거운 주제











XML 파일을 PPT로 열 수 있나요? XML, Extensible Markup Language(Extensible Markup Language)는 데이터 교환 및 데이터 저장에 널리 사용되는 범용 마크업 언어입니다. HTML에 비해 XML은 더 유연하고 자체 태그와 데이터 구조를 정의할 수 있으므로 데이터 저장과 교환이 더 편리하고 통합됩니다. PPT 또는 PowerPoint는 프레젠테이션 작성을 위해 Microsoft에서 개발한 소프트웨어입니다. 이는 포괄적인 방법을 제공합니다.

php5와 php8의 차이점은 성능, 언어 구조, 유형 시스템, 오류 처리, 비동기 프로그래밍, 표준 라이브러리 기능 및 보안 측면에서 있습니다. 자세한 소개: 1. 성능 향상 PHP5와 비교하여 PHP8은 JIT 컴파일러를 도입하여 일부 고주파 실행 코드를 컴파일하고 최적화하여 실행 속도를 향상시킵니다. PHP8에는 몇 가지 새로운 언어 구조와 기능이 도입되었습니다. PHP8은 명명된 매개변수를 지원하므로 개발자는 매개변수 순서 대신 매개변수 이름을 전달할 수 있습니다.

Python을 사용하여 XML 데이터 필터링 및 정렬 구현 소개: XML은 데이터를 태그 및 속성 형식으로 저장하는 일반적으로 사용되는 데이터 교환 형식입니다. XML 데이터를 처리할 때 데이터를 필터링하고 정렬해야 하는 경우가 많습니다. Python은 XML 데이터를 처리하는 데 유용한 많은 도구와 라이브러리를 제공합니다. 이 기사에서는 Python을 사용하여 XML 데이터를 필터링하고 정렬하는 방법을 소개합니다. XML 파일 읽기 시작하기 전에 XML 파일을 읽어야 합니다. Python에는 많은 XML 처리 라이브러리가 있습니다.

Python을 사용하여 XML 데이터 병합 및 중복 제거 XML(eXtensibleMarkupLanguage)은 데이터를 저장하고 전송하는 데 사용되는 마크업 언어입니다. XML 데이터를 처리할 때 여러 XML 파일을 하나로 병합하거나 중복된 데이터를 제거해야 하는 경우가 있습니다. 이 기사에서는 Python을 사용하여 XML 데이터 병합 및 중복 제거를 구현하는 방법을 소개하고 해당 코드 예제를 제공합니다. 1. XML 데이터 병합 XML 파일이 여러 개인 경우 이를 병합해야 합니다.

Python의 XML 데이터를 CSV 형식으로 변환 XML(ExtensibleMarkupLanguage)은 데이터 저장 및 전송에 일반적으로 사용되는 확장 가능한 마크업 언어입니다. CSV(CommaSeparatedValues)는 데이터 가져오기 및 내보내기에 일반적으로 사용되는 쉼표로 구분된 텍스트 파일 형식입니다. 데이터를 처리할 때, 간편한 분석과 처리를 위해 XML 데이터를 CSV 형식으로 변환해야 하는 경우가 있습니다. 파이썬은 강력하다

Python은 XML과 JSON 간의 변환을 구현합니다. 소개: 일상적인 개발 프로세스에서 우리는 종종 서로 다른 형식 간에 데이터를 변환해야 합니다. XML과 JSON은 일반적인 데이터 교환 형식입니다. Python에서는 다양한 라이브러리를 사용하여 XML과 JSON을 변환할 수 있습니다. 이 문서에서는 코드 예제와 함께 일반적으로 사용되는 몇 가지 방법을 소개합니다. 1. Python에서 XML을 JSON으로 변환하려면 xml.etree.ElementTree 모듈을 사용할 수 있습니다.

Python을 사용하여 XML에서 오류 및 예외 처리하기 XML은 구조화된 데이터를 저장하고 표현하는 데 일반적으로 사용되는 데이터 형식입니다. Python을 사용하여 XML을 처리할 때 때때로 오류와 예외가 발생할 수 있습니다. 이 기사에서는 Python을 사용하여 XML의 오류 및 예외를 처리하는 방법을 소개하고 참조용 샘플 코드를 제공합니다. XML 구문 분석 오류를 잡기 위해 try-Exception 문을 사용하십시오. Python을 사용하여 XML을 구문 분석할 때 가끔 오류가 발생할 수 있습니다.

Python은 XML의 특수 문자와 이스케이프 시퀀스를 구문 분석합니다. XML(eXtensibleMarkupLanguage)은 서로 다른 시스템 간에 데이터를 전송하고 저장하는 데 일반적으로 사용되는 데이터 교환 형식입니다. XML 파일을 처리할 때 특수 문자와 이스케이프 시퀀스가 포함되어 구문 분석 오류가 발생하거나 데이터가 잘못 해석될 수 있는 상황이 자주 발생합니다. 따라서 Python을 사용하여 XML 파일을 구문 분석할 때 이러한 특수 문자와 이스케이프 시퀀스를 처리하는 방법을 이해해야 합니다. 1. 특수문자 및
