1
我有一個運行並添加以下到一個文件中的C#控制檯應用程序:如何使用C#在XML文件內添加XSL樣式表?
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<qf:VisualTemplate xmlns:qf="http://www.Qnomy.com/Templates" version="1.0" description="test doc">
<qf:Styles />
<qf:Parameters />
<qf:SampleData />
<qf:Design />
</qf:VisualTemplate>
它使用這段代碼做到這一點:
var doc = new XDocument(
new XDeclaration("1.0", "utf-8", "yes"),
new XElement(ns + "VisualTemplate",
new XAttribute(XNamespace.Xmlns + "qf", url),
new XAttribute("version", "1.0"),
new XAttribute("description", "test doc"),
new XElement(ns + "Styles"),
new XElement(ns + "Parameters"),
new XElement(ns + "SampleData"),
new XElement(ns + "Design")
)
);
我還需要添加嵌入式在QF之間XSL樣式表:設計節點,就像這樣:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<qf:VisualTemplate xmlns:qf="http://www.Qnomy.com/Templates" version="1.0" description="test doc">
<qf:Styles />
<qf:Parameters />
<qf:SampleData />
<qf:Design>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
</xsl:stylesheet>
</qf:Design>
</qf:VisualTemplate>
我試圖做同樣的方式,因爲我創建的XML,但我不能使用XSL的命名空間:
var url2 = "http://www.w3.org/1999/XSL/Transform";
var ns2 = XNamespace.Get(url2);
var d = doc.Descendants(ns + "Design").First();
d.AddBeforeSelf(new XComment("Place your HTML elements here"));
d.Add(
new XElement(ns + "Design",
new XElement(ns2 + "stylesheet",
new XAttribute(XNamespace.Xmlns + "xsl", ""),
new XAttribute("version", "1.0")
)
)
);
有沒有什麼辦法可以用C#添加xsl樣式表,就像我做XML元素一樣?