<"/> <">

ホームページ  >  記事  >  バックエンド開発  >  XMLについて質問があります

XMLについて質問があります

WBOY
WBOYオリジナル
2016-06-13 13:29:49765ブラウズ

XML について質問したいです
これは IP セキュリティ ポリシーの XML であり、各ユーザーは IP が の内容に含まれている場合にのみログインできることを意味します。変更および削除する方法を知りたいです。ユーザーの IP リストを使用します。DOMDOCUMENT();



<ユーザー名名="admin ">
192.168.1.1
192.168.1.2 //例として、admin を変更または削除するとします。 ip2、その他は変更されません
192.168.1.3 //ノード名が同じなので、ここに ID を追加する必要があります
1.4
192.168.1.5


192.168 .1.11
192.168.1.12
192.168.1.13
192.168.1.14
192.168.1.15


192.168.1.21< /iplist> < ;iplist>192.168.1.25




------解決策--- --------------------

悲劇、悲劇。 domDocument は非常に標準的な DOM モデルです。php マニュアルに詳細なメソッドと例が記載されています。
------解決策---------

PHP コード <ユーザー> <ユーザー名 name="admin"> 192.168.1.1 192.168.1.2 192.168.1.3 192.168.1.4 192.168.1.5 <ユーザー名 name="ユーザー"> 192.168.1.11 192.168.1.12 192.168.1.13 192.168.1.14 192.168.1.15 <ユーザー名 name="user2"> 192.168.1.21 192.168.1.22 192.168.1.23 192.168.1.24 192.168.1.25 EOF; $dom = 新しい DOMDocument(); $ret = $dom->loadXML($xml, LIBXML_NOBLANKS); $xpath = 新しい DOMXpath($dom); $node_list = $xpath->query('/user/username[@name="admin"]/iplist'); for ($i = 0; $i != $node_list->length; ++ $i) { echo $node_list->item($i)->nodeValue 。 } ?>
------解決策------------------


PHP コード
$s =loadXML($s);
$xpath = 新しい DOMXPath($dom);

//xpath定位修正を使用する
$p = $xpath->query("//username[@name='admin']/iplist[.='192.168.1.1']")->item(0);
$p->nodeValue = 'abcd';

//xpath定位删除を使用します
$p = $xpath->query("//username[@name='admin']/iplist[.='192.168.1.2']")->item(0);
$p->parentNode->removeChild($p);

echo $dom->saveXML();
 <div class="clear"></div>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。