Ich möchte Daten aus einer XML-Datei in eine Sql-Datenbanktabelle exportieren. Kann mir jemand dabei helfen?
Antworten
Zu viele Anzeigen?Wenn es sich um einen SQL Server handelt, habe ich bereits eine ähnliche Frage beantwortet. Schauen Sie sich den folgenden Beitrag an:
.NET: Einfügen von XML-Dokumenten in SQL Server
Sie können diesen kleinen c#-Teil verwenden, um Ihre Daten zu speichern. Sie müssen nur die Tabellen- und Spaltenfelder ändern.
class Program
{
private static void SaveXmlToDatabase(DbConnection connection,
XmlDocument xmlToSave)
{
String sql = "INSERT INTO xmlTable(xmlColumn) VALUES (@xml)";
using (DbCommand command = connection.CreateCommand())
{
XPathNavigator nav = xmlToSave.CreateNavigator();
string xml = nav.SelectSingleNode("/catalog/cd[title='Manowar']").InnerXml;
command.CommandText = sql;
command.Parameters.Add(
new SqlParameter("@xml", SqlDbType.Xml)
{Value = new SqlXml(new XmlTextReader(xml
, XmlNodeType.Document, null)) });
DbTransaction trans = connection.BeginTransaction();
try
{
command.ExecuteNonQuery();
trans.Commit();
}
catch (Exception)
{
trans.Rollback();
throw;
}
}
}
static void Main(string[] args)
{
XmlDocument document = new XmlDocument();
document.Load(args.First());
SqlConnection connection = new SqlConnection(
"Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;");
SaveXmlToDatabase(connection, document);
connection.Close();
}
}
KuldipMCA
Punkte
2961
Siehe untenstehenden Link
http://www.simple-talk.com/sql/t-sql-programming/beginning-sql-server-2005-xml-programming/
können Sie die Lösung finden.