【发布时间】:2015-09-04 19:06:08
【问题描述】:
我正在使用 C# 和 MVC4 开发一个 Web 应用程序。目前我正在将字符串变量转换为SqlXml 文件。我有一个具有这种结构的 XML 文件:
<?xml version="1.0" encoding="utf-8"?>
<cfdi:Comprobante xsi:schemaLocation="http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv32.xsd http://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/TimbreFiscalDigital/TimbreFiscalDigital.xsd" xmlns:tfd="http://www.sat.gob.mx/TimbreFiscalDigital" version="3.2" xmlns:cfdi="http://www.sat.gob.mx/cfd/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
</cfdi:Comprobante>
我将上述文件成功转换为字符串,然后我使用以下代码将字符串转换为 SqlXML。
cfdiDocumento.CFDIXML = Serializar.XMLToSqlXml(comprobante);
其中 cfdiDocumento.CFDIXML 是 SqlXml var,Serializar.XMLToSqlXml(comprobante) 方法接收字符串并执行以下代码:
public static SqlXml XMLToSqlXml(string xmlString)
{
SqlXml sqlXmlFiltro = null;
if (xmlString != null)
{
StringReader sr = new StringReader(xmlString);
XmlReaderSettings settings = new XmlReaderSettings();
settings.ConformanceLevel = ConformanceLevel.Auto;
XmlReader reader0 = XmlReader.Create(sr, settings);
sqlXmlFiltro = new SqlXml(reader0);
}
return sqlXmlFiltro;
}
代码成功完成后,文件正确,但正在删除 xml 标头
<?xml version="1.0" encoding="utf-8"?>
问题是:如何在转换为 SqlXml var 时保留 xml 标头?
【问题讨论】:
-
是什么让你认为
SqlXml是罪魁祸首?也许是您的转换函数和使用XmlReader删除了 XML 序言...? -
如何显示 XML? VS中的XML显示工具即使有标识线也不显示。
-
@jdweng 我将生成的 XML 文件存储在 Windows Azure 存储中,当我下载文件时它没有标题。
-
@stakx 感谢您的建议,我将调试该部分并评论结果。