国税总局开放发票导入XML生成算法DEMO ,重点解决导入不了、导入数据误差等算法问题 private void button1_Click(object sender, EventArgs e)
{
CreateXmlFile();//原来的demo例子
CreateXml();//我写的发票xml列子
}
public void CreateXml()
{
XmlDocument xmlDoc = new XmlDocument();
//创建说明
XmlNode node = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", "");
xmlDoc.AppendChild(node);
//创建根节点
XmlElement Kp = xmlDoc.CreateElement("Kp");
xmlDoc.AppendChild(Kp);
CreateNode(xmlDoc, Kp, "Version", "2.0");//有此节点,则表示用带分类编码
// 生成一个新节点(一级节点)
XmlElement Fpxx = xmlDoc.CreateElement("Fpxx");
Kp.AppendChild(Fpxx);
CreateNode(xmlDoc, Fpxx, "Zsl", "1");//此文件含有的单据信息数量,即发票数量
// 生成一个新节点(二级节点)
XmlElement Fpsj = xmlDoc.CreateElement("Fpsj");
Fpxx.AppendChild(Fpsj);
// 生成一个新节点(三级节点)
XmlElement Fp = xmlDoc.CreateElement("Fp");
Fpsj.AppendChild(Fp);
................................... ................................... //省略的都是重点 .................................. CreateNode(xmlDoc, Sph, "Kce", null);////扣除额,用于差额税计算 非必填
try
{
xmlDoc.Save("C:\\Users\\pc\\Desktop\\168.xml");
MessageBox.Show("保存成功!!");
Close();
}
catch (Exception e)
{
//显示错误信息
//Console.WriteLine(e.Message);
MessageBox.Show("保存出现故障!");
}
}
public void CreateXmlFile()
{
XmlDocument xmlDoc = new XmlDocument();
//创建类型声明节点
XmlNode node = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", "");
xmlDoc.AppendChild(node);
//创建根节点
XmlNode root = xmlDoc.CreateElement("User");
xmlDoc.AppendChild(root);
CreateNode(xmlDoc, root, "name", "xuwei");
CreateNode(xmlDoc, root, "sex", "male");
CreateNode(xmlDoc, root, "age", "25");
try
{
xmlDoc.Save("C:\\Users\\pc\\Desktop\\data2.xml");
MessageBox.Show("保存成功!!");
}
catch (Exception e)
{
//显示错误信息
//Console.WriteLine(e.Message);
MessageBox.Show("保存出现故障!");
}
}
评论