verwendetes Datenbanksystem: XML
Hallo "Kollegen",
ich suche nach einer Möglichkeit im .NET 2.0 (aus Gründen der Abwärtskompatibilität muss ich dieses Framework verwenden) aus beliebigen XML-Dateien alle Namespace-Deklarationen auszulesen.
Es geht darum, generisch nach bestimmten XML-Mustern zu suchen und Werte zu prüfen.
Ich habe bisher nichts gefunden und mit Regular Expressions da "drüberzugehen" ist auch nicht so der Bringer".
Danke schon mal im Voraus für etwaige Antworten.
Beispiel:
namespaceManager.AddNamespace("db", "http://www.springframework.net/database");
Jetzt kann ich das zwar so hardcoded programmieren und zu 95 Prozent ist das auch immer richtig (dank an Copy & Paste), darauf verlassen kann ich mich aber nicht, dass das Prefix immer db lautet oder der Namespace immer der Obige ist.
OK, manchmal ist es auch viel einfacher als ursprünglich gedacht ... und da ich Monologe liebe, hier gleich die Lösung:
// Fetch Spring database connections
if (xmlDocument.FirstChild.Name.Equals("objects"))
{
String dataProviderNamespaceName = String.Empty;
String dataProviderNamespacePrefix = String.Empty;
// We iterate all attributes and search for the database provider prefix
foreach (XmlAttribute attribute in xmlDocument.FirstChild.Attributes)
{
if (attribute.Name.StartsWith("xmlns:"))
{
dataProviderNamespaceName = attribute.Value;
dataProviderNamespacePrefix = attribute.Name.Substring(attribute.Name.IndexOf(":") + 1);
break;
}
}
....