我使用数据集的WriteXml()将数据集中的数据保存到XML。当我将数据集值保存到XML文件中时,文件的格式类似于下面的代码。
我像这样保存数据集:Order_Dataset.WriteXml(@"C:\Orders", XmlWriteMode.IgnoreSchema)
我怎么写,以便XMLNS地址不会出现在我的XML文件中? XmlWriteMode.IgnoreSchema应该做的工作,但它不会
<Order_Dataset xmlns="http://tempuri.org/Order_Dataset.xsd">
<Order>
<OrderName>Coffe</OrderName>
<OrderID>1</OrderID>
<OrderDate>2011-02-20T14:11:21+01:00</OrderDate>
</Order>
答案 0 :(得分:4)
您是否尝试在保存之前更改DataSet的命名空间?
DataSet ds = new DataSet("MyDataSet");
ds.Namespace = "";
ds.WriteXml(...);
答案 1 :(得分:0)
DataSet具有内部变量fTopLevelTable,仅在加载XML文件时才会更改。将手动更改的XML加载到...后,使用调试器查看差异。如果您通过代码或使用ReadXmlSchema()创建DataSet,则可以实现这一点。
FieldInfo fieldInfo = typeof(DataSet).GetField("fTopLevelTable", BindingFlags.NonPublic | BindingFlags.Instance);
fieldInfo.SetValue(yourDS, true);