我有一个使用 xsd.exe 从Agresso's XSD创建的类,我成功使用它来生成我的XML文件。我定义了一个对象ABWInvoice oInvoiceAgresso = new ABWInvoice() { };
,填充了相关数据,然后使用以下方法保存为XML文件。
public static void SaveXml<ObjectType>(ObjectType o, string fileName)
{
using (var sw = new StreamWriter(myDecodePath(fileName)))
{
new XmlSerializer(typeof(ObjectType)).Serialize(sw, o);
}
}
XML文件有很多名称空间,例如
<InvoiceDate xmlns="http://services.agresso.com/schema/ABWSchemaLib/2011/11/14">2018-02-05</InvoiceDate>
到目前为止一切顺利,但客户现在需要删除XML中的命名空间,即仅显示<InvoiceDate>2018-02-05</InvoiceDate>
网络上有很多例子如何使用XML文件,这意味着我必须继续将我的对象保存为XML文件,然后重新加载它以进行处理。
我想知道是否还有更好的方法,而且我认为更快的方法是直接在我的oInvoiceAgresso对象上进行,而不是先保存它,好吗?
我们使用VS 2017。