Ben içeren bir xml dosyasını ayrıştırmak için DOM extension kullanıyorum xml namespaces. Ben alanı bildirimleri tıpkı diğer niteliği gibi muamele olduğunu sanırdım, ama benim testleri katılmıyorum görünüyor. Böyle başlayan bir belge var:
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns="http://purl.org/rss/1.0/"
xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:syn="http://purl.org/rss/1.0/modules/syndication/"
xmlns:prism="http://purl.org/rss/1.0/modules/prism/"
xmlns:admin="http://webns.net/mvcb/"
>
Ve böyle bir test kodu:
$doc = new DOMDocument();
$doc->loadXml(file_get_contents('/home/soulmerge/tmp/rss1.0/recent.xml'));
$root = $doc->documentElement;
var_dump($root->tagName);
# prints 'string(7) "rdf:RDF"'
var_dump($root->attributes->item(0));
# prints 'NULL'
var_dump($root->getAttributeNode('xmlns'));
# prints 'object(DOMNameSpaceNode)#3 (0) {}'
Yani sorular şunlardır:
- Ben belgeleri bulmak nerede bilen var mı
DOMNameSpaceNode
? A search on php.net herhangi bir yararlı bir sonuç ortaya koymamıştır. - Bunu nasıl DOMElement tüm bu alanı bildirimleri ayıklamak?