我有以下来自TNT的XML,我应该能够使用它来创建装运标签:
https://codebeautify.org/xmlviewer/cb55b98e
我收到了以下XSL文件:
https://express.tnt.com/expresswebservices-website/stylesheets/HTMLAddressLabelRenderer.xsl
我尝试将它们与以下代码结合起来:
XmlWriterSettings settings = new XmlWriterSettings
{
OmitXmlDeclaration = true,
ConformanceLevel = ConformanceLevel.Fragment,
CloseOutput = false,
};
// populate the root element with the XML of the address label
XElement root = new XElement("root", XElement.Parse(await _engine.GetDocument("GET_LABEL", code)));
XDocument newTree = new XDocument();
using (XmlWriter writer = XmlWriter.Create(newTree.CreateWriter(), settings))
{
XslCompiledTransform xslt = new XslCompiledTransform();
XsltSettings trev = new XsltSettings
{
EnableDocumentFunction = true,
EnableScript = true
};
xslt.Load(@"C:\Users\Trevo\Desktop\HTMLAddressLabelRenderer.xsl", trev, null);
xslt.Transform(root.CreateReader(), writer);
writer.Close();
newTree.Save(@"C:\Users\Trevo\Desktop\result.html");
}
HTML只包含脚本和head属性,而body是完全空的。
我搞不懂它为什么不起作用。我认为“根”不是正确的XName,但不确定如何确定它应该是什么。
任何帮助都将不胜感激!