forked from FatturaElettronica/FatturaElettronica.NET
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathFatturaBase.cs
31 lines (28 loc) · 947 Bytes
/
FatturaBase.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
using System.Xml;
using FatturaElettronica.Common;
using FatturaElettronica.Defaults;
namespace FatturaElettronica
{
public abstract class FatturaBase : BaseClassSerializable
{
public override void ReadXml(XmlReader r)
{
r.MoveToContent();
base.ReadXml(r);
}
public override void WriteXml(XmlWriter w)
{
w.WriteStartElement(RootElement.Prefix, GetLocalName(), GetNameSpace());
w.WriteAttributeString("versione", GetFormatoTrasmissione());
foreach (var a in RootElement.ExtraAttributes)
{
w.WriteAttributeString(a.Prefix, a.LocalName, a.ns, a.value);
}
base.WriteXml(w);
w.WriteEndElement();
}
protected abstract string GetFormatoTrasmissione();
protected abstract string GetLocalName();
protected abstract string GetNameSpace();
}
}