[C #] Добавить ссылку XSL в XMLDocument - PullRequest
1 голос
/ 04 декабря 2009

Я создаю документ XML из моего кода C #. Мне нужно добавить ссылку XSL в мой документ XML. Мой код:

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-stylesheet type="text/xsl" href="cdcatalog.xsl"?> в моем XML-документе. Как мне это сделать? Не могу найти много через Google.

1 Ответ

7 голосов
/ 04 декабря 2009

Попробуйте это:

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