ホームページ >バックエンド開発 >PHPチュートリアル >PHP XML 操作クラス DOMDocument
DOMDocument 関連のコンテンツ。
Attributes:
Attributes はノードの属性リストを格納します (読み取り専用)
childNodes はノードの子ノードのリストを格納します (読み取り専用)
dataType はこのノードのデータ型を返します
Definition DTD または XML モードで指定されます 出力ノードの定義 (読み取り専用)
Doctype はドキュメント タイプ ノードを指定します (読み取り専用)
documentElement はドキュメントのルート要素を返します (読み取り/書き込み)
firstChild は最初の子ノードを返します現在のノードの (読み取り専用)
Implementation は XMLDOMImplementation オブジェクトを返します
lastChild は現在のノードの最後の子ノードを返します (読み取り専用)
nextSibling は現在のノードの次の兄弟ノードを返します (読み取り専用)
nodeName はノードの名前 (読み取り専用)
nodeType はノードのタイプを返します (読み取り専用)
nodeTypedValue ノードの値を格納します (読み取りおよび書き込み可能)
nodeValue はノードのテキストを返します (読み取りおよび書き込み可能)
ownerDocument はこのノードを含むルートドキュメント (読み取り専用)
parentNode は親ノードを返します (読み取り専用)
Parsed はこのノードとその子ノードを返します 解析されたかどうか (読み取り専用)
Prefix は名前空間のプレフィックスを返します (読み取り専用) )
preserveWhiteSpace は空白のままにするかどうかを指定します (読み取り/書き込み可能)
previousSibling はこのノードの前の兄弟ノードを返します (読み取り専用)
Text はこのノードとその子孫のテキスト コンテンツを返します (読み取りおよび書き込み可能)
url を返します最近ロードされた XML ドキュメントの URL (読み取り専用)
Xml ノードとその子孫の XML 表現を返します (読み取り専用)
メソッド:
appendChild は現在のノードです 新しい子ノードを追加して配置します最後の子ノードの後に
cloneNode 現在のノードのコピーを返す
createAttribute 新しい属性を作成する
createCDATASection 指定されたデータを含む CDATA セグメントを作成する
createComment コメント ノードを作成する
createDocumentFragment DocumentFragment オブジェクトを作成する
createElement 要素ノードを作成する
createEntityReference EntityReference オブジェクトを作成します
createNode 指定された型、名前、名前空間のノードを作成します
createPorcessingstruction 操作指示ノードを作成します
createTextNode 指定されたデータを含むテキスト ノードを作成します
getElementsByTagName 指定された名前の要素コレクションを返します
hasChildNodes 現在の どうかを返しますノードには子ノードがあります
insertBefore 指定したノードの前に子ノードを挿入します
Load 指定した場所に XML ドキュメントをインポートします
loadXML 指定した文字列の XML ドキュメントをインポートします
removeChild 指定した子ノードを子ノードリストから削除します
replaceChild From子ノードのリスト
Save で指定された子ノードを置き換えます XML ファイルを指定されたノードに保存します
selectNodes ノード上で指定された一致を実行し、一致するノード リストを返します
selectSingleNode ノード上で指定された一致を実行し、最初に一致したノードを返します
transformNode 指定されたスタイルシートを使用してノードとその子孫を変換します
transformNodeToObject は指定されたスタイルシートを使用してノードとその子孫を変換します
Instance は label 属性を取得します 値:
Me.xml
<?xml version="1.0" encoding="utf-8"?> <phplamp> <post> <title id="1">PHP XML处理介绍一</title> <details>详细内容一</details> </post> <post> <title id="2">PHP XML处理介绍二</title> <details>详细内容二</details> </post> <post> <title id="3">PHP XML处理介绍三</title> <details>详细内容三</details> </post> </phplamp>
// 首先要建一个DOMDocument对象 $xml = new DOMDocument(); // 加载Xml文件 $xml->load("me.xml"); // 获取所有的post标签 $postDom = $xml->getElementsByTagName("post"); // 循环遍历post标签 foreach($postDom as $post){ // 获取Title标签Node $title = $post->getElementsByTagName("title"); /** * 要获取Title标签的Id属性要分两部走 * 1. 获取title中所有属性的列表也就是$title->item(0)->attributes * 2. 获取title中id的属性,因为其在第一位所以用item(0) * * 小提示: * 若取属性的值可以用item(*)->nodeValue * 若取属性的标签可以用item(*)->nodeName * 若取属性的类型可以用item(*)->nodeType */ echo "Id: " . $title->item(0)->attributes->item(0)->nodeValue . "<br />"; echo "Title: " . $title->item(0)->nodeValue . "<br />"; echo "Details: " . $post->getElementsByTagName("details")->item(0)->nodeValue . "<br /><br />"; }
以下はjs が XML ファイルを読み取るためのコード ajax+ xml メッセージ
var xmldoc = new ActiveXObject("Microsoft.XMLDOM"); xmldoc.async = false; var 旧发言 = ""; function getxml(){ try{ xmldoc.load("word.xml"); if(xmldoc.documentElement != null){ var 新发言 = xmldoc.xml; if(新发言 != 旧发言){ 旧发言 = 新发言; var allwords = xmldoc.selectNodes("list/message"); 新发言 = ""; for(var i = 0;i < allwords.length;i++){ var 数组 = allwords[i].text.split("@"); var 作者 = 数组[0]; if(作者 == 用户名.value){ 作者 = "<font color='Turquoise'>"+作者+"</font>"; } else{ 作者 = "<font color='Silver'>"+作者+"</font>"; } var 发言= "<font color='Gold'>"+数组[1]+"</font>"; 新发言 += "<div>"+作者+" "+发言+"</div>" +"<div style='text-align:right;font-size:9px;'>" +allwords[i].getAttribute("author").substring(0,allwords[i].getAttribute("author").lastIndexOf(".")+1) +"* " +allwords[i].getAttribute("time") +"</div>"; } words.innerHTML = 新发言; words.scrollTop = words.scrollHeight; } } } catch(e){ } } var 读取中 = false; function getdata(){ if(!读取中){ 读取中 = true; getxml(); 读取中 = false; } setTimeout("getdata()",3000); } getdata(); submit.onclick = function(){ submit.disabled = true; if(word.value != ""){ var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); xmlHttp.open("GET","save.php?name=" +encodeURIComponent(用户名.value)+ "&word="+encodeURIComponent(word.value), true); xmlHttp.setRequestHeader("Content-Type","text/html; charset=utf-8"); xmlHttp.send(null); word.value = ""; if(!读取中){ 读取中 = true; getxml(); 读取中 = false; } } setTimeout("submit.disabled = false;",3000); word.focus(); }
PHP XML 操作クラス DOMDocument に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。