读取XML文件并将标记值保存在Oracle表中

时间:2018-08-24 08:46:41

标签: c# xml oracle

我有一个像这样的XML文件:

<billing_documents>
    <billing_document>
        <Field1>AAAAA</Field1>
        <Field2>BBBBB</Field2>
        <Field3>20180731</Field3>
        <Field4/>
    <billing_document>
<billing_documents>

(某些字段可能为空,例如本例中的Field4),

,我需要阅读并将“ FieldX”值保存在Oracle表中 具有相同的结构。

Field1-Field2-Field3-Field4

有人可以帮助我吗?

非常感谢。

路易斯

PS 我正在使用Visual Studio 2017。

1 个答案:

答案 0 :(得分:1)

尝试使用xml linq。我将结果放入数据表中。您可以根据需要进行修改以将结果存储在oracle数据库中

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Linq;
using System.Data;

namespace ConsoleApplication1
{
    public class Program
    {
        const string FILENAME = @"c:\temp\test.xml";
        private static void Main()
        {
            XDocument doc = XDocument .Load(FILENAME);

            DataTable dt = new DataTable();
            dt.Columns.Add("Field1", typeof(string));
            dt.Columns.Add("Field2", typeof(string));
            dt.Columns.Add("Field3", typeof(string));
            dt.Columns.Add("Field4", typeof(string));

            foreach (XElement document in doc.Descendants("billing_document"))
            {
                dt.Rows.Add(new object[] {
                    (string)document.Element("Field1"),
                    (string)document.Element("Field2"),
                    (string)document.Element("Field3"),
                    (string)document.Element("Field4")
                });
            }
        }

    }

}