[C#]在XMLDocument中添加XSL引用

时间:2009-12-04 08:51:02

标签: xml xslt c#-2.0

我正在使用C#代码创建XML文档。我需要在我的XML文档中添加XSL引用。我的代码是:

XmlDocument xDoc = new XmlDocument();
if (!File.Exists(fileName))
{
    XmlDeclaration dec = xDoc.CreateXmlDeclaration("1.0", "UTF-8", null);
    xDoc.AppendChild(dec);
    **[Need to add code to add the XSL reference e.g. - <?xml-stylesheet type="text/xsl" href="style.xsl"?> ] **
    XmlElement root = xDoc.CreateElement("Errors");
    xDoc.AppendChild(root);
}
else
{
    xDoc.Load(fileName);
}
XmlElement errorLogStart = xDoc.CreateElement("ErrorLog");
XmlElement errorText = xDoc.CreateElement("Message");
errorText.InnerText = message;
errorLogStart.AppendChild(errorText);
xDoc.DocumentElement.InsertBefore(errorLogStart, xDoc.DocumentElement.FirstChild);

FileStream fileXml = new FileStream(fileName, FileMode.OpenOrCreate, FileAccess.Write);
xDoc.Save(fileXml);

我需要在XML文档中添加以下行 - <?xml-stylesheet type="text/xsl" href="cdcatalog.xsl"?>。我该怎么做?通过谷歌找不到多少。

1 个答案:

答案 0 :(得分:7)

试试这个:

var xDoc = new XmlDocument();
var pi = xDoc.CreateProcessingInstruction(
    "xml-stylesheet", 
    "type=\"text/xsl\" href=\"cdcatalog.xsl\"");
xDoc.AppendChild(pi);