Albertone wrote:
Have you any helpful examples?
Here is simple custom XmlReader:
public class NamespaceCllectingXmlReader : XmlTextReader
{
Hashtable namespaces = new Hashtable();
//Add constructors as needed
public NamespaceCllectingXmlReader(string url) : base(url) {}
public Hashtable CollectedNamespaces
{
get { return namespaces; }
}
public override bool Read()
{
bool baseRead = base.Read();
if (base.NodeType == XmlNodeType.Element && base.NamespaceURI
!= ""
&& !namespaces.ContainsKey(base.NamespaceURI))
namespaces.Add(base.NamespaceURI, "");
return baseRead;
}
}
and here is its usage:
XmlDocument doc = new XmlDocument();
NamespaceCllectingXmlReader ncr = new
NamespaceCllectingXmlReader("foo.xml");
doc.Load(ncr);
foreach (object ns in ncr.CollectedNamespaces.Keys)
Console.WriteLine(ns);
--
Oleg Tkachenko [XML MVP]
http://blog.tkachenko.com