gibt es eine schnelle Option
Aufschalten XmlResolver eine Wildcard Aware Resolver zu erstellen:
class WildCardResolver : XmlUrlResolver
{
public override Uri ResolveUri(Uri baseUri, string relativeUri)
{
try
{
DirectoryInfo di = new DirectoryInfo(baseUri.AbsolutePath); // TODO Check it is valid.
string combinedFilePath = Path.GetTempFileName();
using (FileStream combinedStream = new FileStream(combinedFilePath, FileMode.OpenOrCreate))
{
foreach (FileInfo fi in di.GetFiles(relativeUri))
{
using (FileStream fileStream = new FileStream(fi.FullName, FileMode.Open, FileAccess.Read))
{
fileStream.CopyTo(combinedStream);
}
}
}
Uri absUri = new Uri(combinedFilePath);
return absUri;
}
catch(Exception ex)
{
//Log Exception
return base.ResolveUri(baseUri, relativeUri);
}
}
}
Es gibt viel zu tun, wenn Wildcards zu bemerken bei allen
, Zusätzlich gelten die BaseURI kann schwierig sein, sagen wir mal, die Quell-XML stammt von
file: // c: /myXMLRepository/myXML.xml
enthält * inc.xml
nun die Basis-URI-Datei // c: /temp/tmpA0.tmp
.
.
wünschen Ihnen viel Glück,
EDIT:
Theres eine andere Art und Weise
public override object GetEntity(Uri absoluteUri, string role, Type ofObjectToReturn)
aber es gibt anderes Problem, dass auferlegt außer Kraft zu setzen ... da die URI Absolute wird nicht immer gültig sein, und der XIncludingReader versucht es und verifiziert es.