This is funny - and slightly off topic:
After reading the thread, I found that my machine does not accept any ls --hide command. Additionally, "man hide" does not mention any --hide parameter. Searching with google, I found a manpage, that describes a ls variant WITH the parameter --hide. Are there different ls's around?
To write something that matches the topic:
I see that the OP has found a solution with piping into grep, just to add another way: One can use find to find any file:
find . ! -iname "*.xml" -maxdepth 1
Does search in current directory (.)
for any file that doesn NOT (!)
contain the case insensitive (-iname)
string pattern *.xml (*.xml).
Find will descend recursively into subdirs for 1 level (-maxdepth 1).
Latter is in fact no descending, since level 1 is the starting level.