xml to csv convert c#



我正在编写一个将 xml 文件转换为 csv 文件的 C# 功能,但我收到一个错误,我找不到解决方案,任何人都可以提供帮助吗?

protected static string page_load()
{
string xmlString = System.IO.File.ReadAllText(@"D:....file.xml");
DataSet ds = new DataSet();
StringReader stringReader = new StringReader(xmlString);
ds.ReadXml(stringReader);
DataTable dtstring = new DataTable();
dtString = ds.Tables[0];
}

在第 4 行:DS。ReadXml(stringReader(;我收到"无法初始化配置系统">

<?xml version=""1.0"" encoding=""utf-8"" ?> 
<DOCUMENT> 
<ABCS> 
<ABC> 
<abc_id style_sid=""-4939636236138949558"" style_code=""""/> 
<abc item_sid=""-4939635934019714433"" upc=""30109"" use_qty_decimals=""0"" prod_cost="""" reclass_item_sid=""""/> 
<abc_c_d> 
<abc_c_ds no=""1"" value=""""/>
<abc_c_ds no=""2"" value=""""/> 
<abc_c_ds no=""3"" value=""""/> 
<abc_c_ds no=""4"" value=""""/> 
<abc_c_ds no=""5"" value=""""/>
<abc_c_ds no=""6"" value=""""/> 
<abc_c_ds no=""7"" value=""""/>
<abc_c_ds no=""8"" value=""""/> 
<abc_c_ds no=""9"" value=""""/> 
<abc_c_ds no=""10"" value=""""/> 
<abc_c_ds no=""11"" value=""""/>
<abc_c_ds no=""12"" value=""""/> 
<abc_c_ds no=""13"" value=""""/> 
<abc_c_ds no=""14"" value=""""/>
</abc_c_d>
</ABC>
</ABCS> 
</DOCUMENT>

您的 XML不是有效的 XML 文件,如果它打算存在,则需要在属性中转义双引号字符。

如何转义XML属性值中的双引号?

取代:

"

&quot;

我试过这个,它的工作。问题一定出在您用于读取文件读取器的 XML 中使用的双引号上。检查 XML

string xmlString = @"<?xml version=""1.0"" encoding=""utf-8"" ?> 
<DOCUMENT> 
<ABCS> 
<ABC> 
<abc_id style_sid=""-4939636236138949558"" style_code=""""/> 
<abc item_sid=""-4939635934019714433"" upc=""30109"" use_qty_decimals=""0"" prod_cost="""" reclass_item_sid=""""/> 
<abc_c_d> 
<abc_c_ds no=""1"" value=""""/>
<abc_c_ds no=""2"" value=""""/> 
<abc_c_ds no=""3"" value=""""/> 
<abc_c_ds no=""4"" value=""""/> 
<abc_c_ds no=""5"" value=""""/>
<abc_c_ds no=""6"" value=""""/> 
<abc_c_ds no=""7"" value=""""/>
<abc_c_ds no=""8"" value=""""/> 
<abc_c_ds no=""9"" value=""""/> 
<abc_c_ds no=""10"" value=""""/> 
<abc_c_ds no=""11"" value=""""/>
<abc_c_ds no=""12"" value=""""/> 
<abc_c_ds no=""13"" value=""""/> 
<abc_c_ds no=""14"" value=""""/>
</abc_c_d>
</ABC>
</ABCS> 
</DOCUMENT>"; 
DataSet ds = new DataSet();
StringReader stringReaders = new StringReader(xmlString);
ds.ReadXml(stringReaders);
DataTable dtstring = new DataTable();
dtstring = ds.Tables[0];

我刚刚删除了双引号以从文件中读取,它工作正常。以下是新的 XML

<?xml version="1.0" encoding="utf-8" ?> 
<DOCUMENT> 
<ABCS> 
<ABC> 
<abc_id style_sid="-4939636236138949558" style_code=""/> 
<abc item_sid="-4939635934019714433" upc="30109" use_qty_decimals="0" prod_cost="" reclass_item_sid=""/> 
<abc_c_d> 
<abc_c_ds no="1" value=""/>
<abc_c_ds no="2" value=""/> 
<abc_c_ds no="3" value=""/> 
<abc_c_ds no="4" value=""/> 
<abc_c_ds no="5" value=""/>
<abc_c_ds no="6" value=""/> 
<abc_c_ds no="7" value=""/>
<abc_c_ds no="8" value=""/> 
<abc_c_ds no="9" value=""/> 
<abc_c_ds no="10" value=""/> 
<abc_c_ds no="11" value=""/>
<abc_c_ds no="12" value=""/> 
<abc_c_ds no="13" value=""/> 
<abc_c_ds no="14" value=""/>
</abc_c_d>
</ABC>
</ABCS> 
</DOCUMENT>
string xmlString = System.IO.File.ReadAllText(@"PathMyFile.xml");
DataSet ds = new DataSet();
StringReader stringReaders = new StringReader(xmlString);
ds.ReadXml(stringReaders);
DataTable dtstring = new DataTable();
dtstring = ds.Tables[0];

相关内容

  • 没有找到相关文章

最新更新