1

我正在尝试将整个输入 xml 转换为输出 xml 中的字符串。我快到了。我已经设法将所有内容放入字符串元素中,但我缺少 xml 声明。由于字符集信息,我需要这个。

任何人都知道如何管理这个?

我目前使用这个 c# 方法来完成这项工作:

public static string ConvertNodeToXmlString(XPathNodeIterator node)
{
        node.MoveNext();
        return node.Current.OuterXml;
}

它是从 xslt 调用的:

<xsl:variable name="result" xmlns:myScriptPrefix="http://HelperClass" select="myScriptPrefix:ConvertNodeToXmlString(.)" />

非常感谢所有帮助!

4

1 回答 1

0

那么你想要哪种编码?您可以使用http://msdn.microsoft.com/en-us/library/system.xml.xpath.xpathnavigator.writesubtree%28v=vs.110%29.aspx

node.MoveNext();

using (StringWriter sw = new StringWriter())
{
  using (XmlWriter xw = XmlWriter.Create(sw))
  {
    node.Current.WriteSubtree(xw);
  }
  return sw.ToString();
}

但由于 .NET 字符串是 UTF-16 编码的,你可能会得到<?xml version="1.0" encoding="UTF-16"?>.

于 2013-11-14T10:12:50.210 回答