C# XMLResolver编译错误
因此,我尝试使用XMLResolver加载xml文件。当我从文件名创建xmlreader时,它可以正常工作,但当我使用stringreader创建xmlreader时,它会失败。它给我一个C# XMLResolver编译错误,c#,xml,xmlreader,C#,Xml,Xmlreader,因此,我尝试使用XMLResolver加载xml文件。当我从文件名创建xmlreader时,它可以正常工作,但当我使用stringreader创建xmlreader时,它会失败。它给我一个xsloadexception:XSLT编译器错误。内部异常是“已经存在具有相同密钥的条目。” public覆盖对象GetEntity(Uri绝对Uri、字符串角色、对象类型返回) { 字符串f=Path.Combine(@“C:\tmp”,Path.GetFileName(absoluteUri.ToStri
xsloadexception:XSLT编译器错误。
内部异常是“已经存在具有相同密钥的条目。”
public覆盖对象GetEntity(Uri绝对Uri、字符串角色、对象类型返回)
{
字符串f=Path.Combine(@“C:\tmp”,Path.GetFileName(absoluteUri.ToString());
字符串testaxont=@“”;
字符串TestaxContent2=File.ReadAllText(f);
bool j=testaxont.Equals(testaxont2);//这等于true
XmlReader tmp=XmlReader.Create(新建StringReader(File.ReadAllText(f));//崩溃
//XmlReader tmp=XmlReader.Create(f);//不要崩溃
返回tmp;
}
testax.xslt
testax2.xsl
我需要将虚线更改为XmlReader tmp=XmlReader.Create(new-StringReader(File.ReadAllText(f)),null,f)代码>对于一个文件,它有一个基本URI,但缺少一个字符串
public override object GetEntity(Uri absoluteUri, string role, Type ofObjectToReturn)
{
string f = Path.Combine(@"C:\tmp", Path.GetFileName(absoluteUri.ToString()));
string testaxCont = @"<xsl:stylesheet xmlns:xsl=""http://www.w3.org/1999/XSL/Transform"" version=""1.0""><xsl:template name=""J""/></xsl:stylesheet>";
string testaxCont2 = File.ReadAllText(f);
bool j = testaxCont.Equals(testaxCont2); //This equals true
XmlReader tmp = XmlReader.Create(new StringReader(File.ReadAllText(f))); //crash
// XmlReader tmp = XmlReader.Create(f); //don't crash
return tmp;
}
testax.xslt
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:include href="testax2.xsl" /></xsl:stylesheet>
testax2.xsl
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:template name="J"/></xsl:stylesheet>