DOMDocument: Duplicate Eleman kimlikleri Ignore

2 Cevap php

Bazı sayfa içeriği koyuyorum (Tidy ile çalıştırmak olmuştur, ancak bu sorunların bir kaynağı ise olması gerekmez) DOMDocument kullanarak içine DOMDocument::loadHTML.

Bu çeşitli hatalar ile geliyor:

ID x önceden Varlık içinde tanımlandığı gibidir, X hat

Ya DOMDocument (veya Tidy) görmezden veya yinelenen eleman kimlikleri dışında şerit yapmak için herhangi bir yolu var mı, bu yüzden aslında DOMDocument yaratacak?

Teşekkürler. :)

2 Cevap

Konuyla ilgili hızlı bir arama bu (yanlış) bug rapor ortaya koymaktadır:

http://bugs.php.net/bug.php?id=46136

Son yanıt aşağıda belirtilmiştir:

You're using HTML 4 rules to load an XHTML document. Either use the load() method to parse as XML or the libxml_use_internal_errors() function to ignore the warnings.

Eğer aynı nedenlerle bu sorunla karşılaşmış eğer yüklenen HTML sayfasına bir başvuru içermiyordu çünkü ben, emin olamıyorum. Her durumda, libxml_use_internal_errors() should at least suppress hata kullanılmıştır.

HTML belgelerinde kimlik numarası generally unique, bu nedenle mümkünse best solution hala belgenizi onaylama olacaktır.

Use Exceptions to treat duplicate IDs, and rename the second id. Or maybe, combine elements in sub-elements of same parent with the ID.

Kimlikleri (XMLTree ve RootElement olarak) bir XML dosyasında benzersiz