Maison  >  Article  >  développement back-end  >  Classe d'opération PHP XML DOMDocument

Classe d'opération PHP XML DOMDocument

高洛峰
高洛峰original
2017-01-06 15:30:561691parcourir

Contenu lié au DOMDocument.

Attributs :

Liste des attributs du nœud de stockage des attributs (lecture seule)
Liste des nœuds enfants du nœud de stockage childNodes (lecture seule)
dataType Returns. le type de données de ce nœud
Definition La définition du nœud donnée en mode DTD ou XML (lecture seule)
Doctype Spécifie le nœud de type de document (lecture seule)
documentElement Renvoie l'élément racine du document (lisible et inscriptible) )
firstChild renvoie le premier nœud enfant du nœud actuel (lecture seule)
Implementation renvoie l'objet XMLDOMImplementation
lastChild renvoie le dernier nœud enfant du nœud actuel (lecture seule) )
nextSibling renvoie le prochain nœud actuel du nœud Sibling (lecture seule)
nodeName renvoie le nom du nœud (lecture seule)
nodeType renvoie le type du nœud (lecture seule)
nodeTypedValue stocke la valeur du nœud (lisible et inscriptible)
nodeValue renvoie le texte du nœud (lisible et inscriptible)
ownerDocument renvoie le document racine contenant ce nœud (lecture seule)
parentNode renvoie le nœud parent ( lecture seule)
Parsed renvoie si ce nœud et ses nœuds enfants ont été analysés (lecture seule)
Prefix renvoie le préfixe de l'espace de noms (lecture seule)
preserveWhiteSpace spécifie s'il faut conserver l'espace vide (lisible et inscriptible)
previousSibling renvoie le nœud frère précédent de ce nœud (lecture seule)
Text renvoie ce nœud et son Le contenu textuel des descendants (lisible et inscriptible)
url Renvoie l'URL du récemment document XML chargé (lecture seule)
Xml Renvoie la représentation XML du nœud et de ses descendants (lecture seule)



Méthode :

appendChild ajoute un nouveau nœud enfant au nœud actuel et le place après le dernier nœud enfant
cloneNode renvoie une copie du nœud actuel
createAttribute crée un nouvel attribut
createCDATASection Crée un segment CDATA incluant les données données
createComment Créer un nœud de commentaire
createDocumentFragment Créer un objet DocumentFragment
createElement Créer un nœud d'élément
createEntityReference Créer un objet EntityReference
createNode Créer un type, un nom et un nœud d'espace de noms donnés
createPorcessingInstruction Créer un nœud d'instruction d'opération
createPorcessingInstruction Créer un nœud d'instruction d'opération
🎜>createTextNode Crée un nœud de texte incluant les données données
getElementsByTagName Renvoie une collection d'éléments avec le nom spécifié
hasChildNodes Renvoie si le nœud actuel a des nœuds enfants
insertBefore in Insérer un nœud enfant avant le nœud spécifié
insertBefore in Insérer un nœud enfant avant le nœud spécifié
getElementsByTagName 🎜>Load Importer le document XML à l'emplacement spécifié
loadXML Importer le document XML avec la chaîne spécifiée
removeChild Supprimer le nœud enfant spécifié de la liste des nœuds enfants
replaceChild De la liste des nœuds enfants Remplacer l'enfant spécifié nœud dans
Enregistrer Enregistrez le fichier XML sur le nœud spécifié
selectNodes Effectue la correspondance spécifiée sur le nœud et renvoie la liste des nœuds correspondants
selectSingleNode Effectue la correspondance spécifiée sur le nœud et renvoie la première correspondance Node
transformNode utilise la feuille de style spécifiée pour transformer le nœud et ses descendants
transformNodeToObject utilise la feuille de style spécifiée pour transformer le nœud et ses descendants

obtient l'attribut label Value :

<.>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 />"; 
}

Ce qui suit est le code permettant à js de lire le message XML ajax du fichier 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=&#39;Turquoise&#39;>"+作者+"</font>"; 
} 
else{ 
作者 = "<font color=&#39;Silver&#39;>"+作者+"</font>"; 
} 
var 发言= "<font color=&#39;Gold&#39;>"+数组[1]+"</font>"; 
新发言 += "<div>"+作者+" "+发言+"</div>" 
+"<div style=&#39;text-align:right;font-size:9px;&#39;>" 
+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(); 
}

Pour plus d'articles liés à la classe d'opération XML PHP DOMDocument, veuillez faire attention au réseau chinois PHP !
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn